functor (M : Pre) -> sig type t = M.t val compare : t -> t -> int val t_of_sexp : Sexplib.Sexp.t -> t val sexp_of_t : t -> Sexplib.Sexp.t type comparator val comparator : (t, comparator) t_ end