Signature for a 3-tuple module
include sig ... end
val t_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> (Sexplib.Sexp.t ‑> 'b) ‑> (Sexplib.Sexp.t ‑> 'c) ‑> Sexplib.Sexp.t ‑> ('a, 'b, 'c) t
val sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> ('b ‑> Sexplib.Sexp.t) ‑> ('c ‑> Sexplib.Sexp.t) ‑> ('a, 'b, 'c) t ‑> Sexplib.Sexp.t
val typerep_of_t : 'a Typerep_lib.Std.Typerep.t ‑> 'b Typerep_lib.Std.Typerep.t ‑> 'c Typerep_lib.Std.Typerep.t ‑> ('a, 'b, 'c) t Typerep_lib.Std.Typerep.t
val typename_of_t : 'a Typerep_lib.Std.Typename.t ‑> 'b Typerep_lib.Std.Typename.t ‑> 'c Typerep_lib.Std.Typename.t ‑> ('a, 'b, 'c) t Typerep_lib.Std.Typename.t
val create : 'a ‑> 'b ‑> 'c ‑> ('a, 'b, 'c) t
val curry : (('a, 'b, 'c) t ‑> 'd) ‑> 'a ‑> 'b ‑> 'c ‑> 'd
val uncurry : ('a ‑> 'b ‑> 'c ‑> 'd) ‑> ('a, 'b, 'c) t ‑> 'd
val equal : eq1:('a ‑> 'a ‑> Core_kernel__.Import.bool) ‑> eq2:('b ‑> 'b ‑> Core_kernel__.Import.bool) ‑> eq3:('c ‑> 'c ‑> Core_kernel__.Import.bool) ‑> ('a, 'b, 'c) t ‑> ('a, 'b, 'c) t ‑> Core_kernel__.Import.bool
val compare : cmp1:('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> cmp2:('b ‑> 'b ‑> Core_kernel__.Import.int) ‑> cmp3:('c ‑> 'c ‑> Core_kernel__.Import.int) ‑> ('a, 'b, 'c) t ‑> ('a, 'b, 'c) t ‑> Core_kernel__.Import.int
external get1 : ('a, _, _) t ‑> 'a = "%field0"
external get2 : (_, 'a, _) t ‑> 'a = "%field1"
val get3 : (_, _, 'a) t ‑> 'a