Signature for a 2-tuple module
include sig ... endval t_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> (Sexplib.Sexp.t ‑> 'b) ‑> Sexplib.Sexp.t ‑> ('a, 'b) tval sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> ('b ‑> Sexplib.Sexp.t) ‑> ('a, 'b) t ‑> Sexplib.Sexp.tval typerep_of_t : 'a Typerep_lib.Std.Typerep.t ‑> 'b Typerep_lib.Std.Typerep.t ‑> ('a, 'b) t Typerep_lib.Std.Typerep.tval typename_of_t : 'a Typerep_lib.Std.Typename.t ‑> 'b Typerep_lib.Std.Typename.t ‑> ('a, 'b) t Typerep_lib.Std.Typename.tinclude Comparator.Derived2 with type (a, b) t := (a, b) tval comparator : ('a, 'cmp_a) Comparator.comparator ‑> ('b, 'cmp_b) Comparator.comparator ‑> (('a, 'b) t, ('cmp_a, 'cmp_b) comparator_witness) Comparator.comparatorval create : 'a ‑> 'b ‑> ('a, 'b) tval curry : (('a, 'b) t ‑> 'c) ‑> 'a ‑> 'b ‑> 'cval uncurry : ('a ‑> 'b ‑> 'c) ‑> ('a, 'b) t ‑> 'cval compare : cmp1:('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> cmp2:('b ‑> 'b ‑> Core_kernel__.Import.int) ‑> ('a, 'b) t ‑> ('a, 'b) t ‑> Core_kernel__.Import.intval equal : eq1:('a ‑> 'a ‑> Core_kernel__.Import.bool) ‑> eq2:('b ‑> 'b ‑> Core_kernel__.Import.bool) ‑> ('a, 'b) t ‑> ('a, 'b) t ‑> Core_kernel__.Import.boolexternal get1 : ('a, _) t ‑> 'a = "%field0" external get2 : (_, 'a) t ‑> 'a = "%field1"