pub trait Semilattice { type Val: Clone; // Required methods fn id() -> Self::Val; fn op(x: &Self::Val, y: &Self::Val) -> Self::Val; }
半束
元の型
単位元
可換かつ冪等な二項演算