Module Base.Set.M

M is meant to be used in combination with OCaml applicative functor types:


      type string_set = Set.M(String).t
    

which stands for:


      type string_set = (String.t, String.comparator_witness) Set.t
    

The point is that Set.M(String).t supports deriving, whereas the second syntax doesn't (because there is no such thing as, say, String.sexp_of_comparator_witness, instead you would want to pass the comparator directly).

Parameters

Elt : sig ... end

Signature

type t = (Elt.tElt.comparator_witnesst