Comparator.Derived2Derived2 creates a comparator function that constructs a comparator for the type ('a, 'b) t given comparators for the type 'a and 'b.
module M : sig ... endval comparator :
('a, 'cmp_a) comparator ->
('b, 'cmp_b) comparator ->
(('a, 'b) M.t, ('cmp_a, 'cmp_b) comparator_witness) comparator