Functor Comparable.Make

module Make: 
functor (T : sig
type t 
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int
end) -> S with type t := T.t
Usage example:

      module Foo = struct
        module T = struct
          type t = ... with compare, sexp
        end
        include T
        include Comparable.Make (T)
      end
    

Then include Comparable.S in the signature (see comparable_intf.mli for an example).

Parameters:
T : sig type t with compare, sexp end

include Comparable_intf.S_common
module Map: Core_map.S 
    with type Key.t = t 
    with type Key.comparator_witness = comparator_witness
module Set: Core_set.S 
    with type Elt.t = t 
    with type Elt.comparator_witness = comparator_witness