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