Module Monoid

module Monoid: sig .. end

Monoids


module type S = sig .. end
module Int: sig .. end
module All: S  with type t = bool
module Any: S  with type t = bool
module Dual: 
functor (M : S) -> S with type t = M.t
module Endo: 
functor (T : sig
type t 
end) -> S  with type t = T.t -> T.t
module Pair: 
functor (M1 : S) ->
functor (M2 : S) -> S with type t = M1.t * M2.t
module Opt: 
functor (S : Semigroup.S) -> S with type t = S.t option