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