Comparator.Derived2
module M : sig ... end
type (!'cmp_a, !'cmp_b) comparator_witness
val comparator : ('a, 'cmp_a) comparator -> ('b, 'cmp_b) comparator -> (('a, 'b) M.t, ('cmp_a, 'cmp_b) comparator_witness) comparator