sig type t val zero : Interfaces.MONOID.t val plus : Interfaces.MONOID.t -> Interfaces.MONOID.t -> Interfaces.MONOID.t end