pub trait Magmoid<T: Copy + PartialEq> {
// Required method
fn binop(&mut self) -> &mut dyn BinaryOperation<T>;
// Provided method
fn with(&mut self, left: T, right: T) -> Result<T, PropertyError> { ... }
}
pub trait Magmoid<T: Copy + PartialEq> {
// Required method
fn binop(&mut self) -> &mut dyn BinaryOperation<T>;
// Provided method
fn with(&mut self, left: T, right: T) -> Result<T, PropertyError> { ... }
}