module type S = sig ... end
type ('elt, 'compare_elt) t
include Ppx_compare_lib.Comparable.S2
with type ('elt, 'compare_elt) t := ('elt, 'compare_elt) t
val compare :
'a Base__Ppx_compare_lib.compare ->
'b Base__Ppx_compare_lib.compare ->
('a, 'b) t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S2
with type ('elt, 'compare_elt) t := ('elt, 'compare_elt) t
val equal :
'a Base__Ppx_compare_lib.equal ->
'b Base__Ppx_compare_lib.equal ->
('a, 'b) t Base__Ppx_compare_lib.equal
include Sexplib0.Sexpable.S2
with type ('elt, 'compare_elt) t := ('elt, 'compare_elt) t
val t_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
(Sexplib0__.Sexp.t -> 'b) ->
Sexplib0__.Sexp.t ->
('a, 'b) t
val sexp_of_t :
('a -> Sexplib0__.Sexp.t) ->
('b -> Sexplib0__.Sexp.t) ->
('a, 'b) t ->
Sexplib0__.Sexp.t
type 'compare_elt compare
val compare_compare :
('compare_elt -> 'compare_elt -> int) ->
'compare_elt compare ->
'compare_elt compare ->
int
val equal_compare :
('compare_elt -> 'compare_elt -> bool) ->
'compare_elt compare ->
'compare_elt compare ->
bool
val sexp_of_compare :
('compare_elt -> Sexplib0.Sexp.t) ->
'compare_elt compare ->
Sexplib0.Sexp.t
val compare_of_sexp :
(Sexplib0.Sexp.t -> 'compare_elt) ->
Sexplib0.Sexp.t ->
'compare_elt compare