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