sig type t val empty : CCCat.MONOID.t val append : CCCat.MONOID.t -> CCCat.MONOID.t -> CCCat.MONOID.t end