ocaml-basics
OBMonoid
module type Kernel = sig ... end
module type S = sig ... end
module Make (K : Kernel) : sig ... end