Add Semigroup & Monoid classes
Add Semigroup
and Monoid
classes
class Semigroup a where
(<>) :: a -> a -> a -- Associative
class Semigroup a => Monoid a where
mempty :: a -- left/right zero of (<>)
plus the respective instances for the standard types.
See also ghc:Proposal/SemigroupMonoid