Functor Comparator.Make1

module Make1: 
functor (M : sig
type 'a t 
val compare : 'a t -> 'a t -> int
val sexp_of_t : 'a t -> Sexplib.Sexp.t
end) -> S1 with type 'a t := 'a M.t
Parameters:
M : sig type 'a t val compare : 'a t -> 'a t -> int (* not the usual type for [compare] *) val sexp_of_t : _ t -> Sexp.t (* not the usual type for [sexp_of_t] *) end

type 'a t 
type comparator_witness 
val comparator : ('a t, comparator_witness) Comparator.comparator