module Const: functor (Monoid : sig type t val zero : t val plus : t -> t -> t Laws: plus is associative and zero is both a left and right unit for plus end) -> S with type 'a t = Monoid.t
functor (
Monoid
:
sig
type t
val zero : t
t
val plus : t -> t -> t
t -> t -> t
plus
zero
end
) ->
S
with type 'a t = Monoid.t
sig type t val zero : t val plus : t -> t -> t (** Laws: [plus] is associative and [zero] is both a left and right unit for [plus] *) end