# Summary

Numeric Typeclasses

Semigroup - Set with closed binary operation that satisfies associativity

CommutativeSemigroup - Semigroup with operation that also satisfies commutativity

Monoid - Semigroup with an identity value 

CommutativeMonoid - Monoid with operation that satisfies commutativity

Group - Monoid with inverses

AbelianGroup - Group with operation that satisfies commutativity