Trait Monoid
sfcpl::monoid
pub trait Monoid: Sized { fn identity() -> Self; fn op(x: &Self, y: &Self) -> Self; fn fold(v: &[Self]) -> Self { ... } }
単位元が定義される T -> T -> T型の演算
T -> T -> T
fn identity() -> Self
fn op(x: &Self, y: &Self) -> Self
fn fold(v: &[Self]) -> Self