Module CMap

Extended version of OCaml's maps
module type OrderedType = sig ... end
module type MonadS = sig ... end
module type S = Stdlib.Map.S
module type ExtS = sig ... end
module Make : functor (M : Stdlib.Map.OrderedType) -> ExtS with type key = M.t and type 'a t = 'a Stdlib.Map.Make(M).t and module Set := Stdlib.Set.Make(M)