type ('a, 'compare_a) comparer := ('a, 'compare_a) tval compare_compare :
('compare_a -> 'compare_a -> int) ->
'compare_a compare ->
'compare_a compare ->
intval equal_compare :
('compare_a -> 'compare_a -> bool) ->
'compare_a compare ->
'compare_a compare ->
boolval sexp_of_compare :
('compare_a -> Sexplib0.Sexp.t) ->
'compare_a compare ->
Sexplib0.Sexp.tval compare_of_sexp :
(Sexplib0.Sexp.t -> 'compare_a) ->
Sexplib0.Sexp.t ->
'compare_a compare