pub fn abelian_group<S: Debug + PartialEq + Clone, const N: usize>(
    items: &[S; N],
    f: &impl Fn(S, S) -> S,
    zero: S,
    b: &impl Fn(S) -> S
) -> Result<(), &'static str>
Expand description

Defines an abelian group structure. An abelian group is a group where the operation f is commutative.