1 2 3 4 5 6 7 8 9 10
use crate::empty::Empty; use crate::semigroup::Semigroup; use std::ops::Add; pub trait Monoid: Empty + Semigroup {} impl Monoid for i32 {} impl Monoid for i64 {} impl<T: Clone> Monoid for Vec<T> {} impl Monoid for String {}