Monad.Plus
A parametric monoid
module type S = sig ... end
a monoid over an unary polymorphic type.
module type S2 = sig ... end
a monoid over a binary polymorphic type.