Module type Core_kernel.Stable4

type ('a1, 'a2, 'a3, 'a4) t
val bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.t -> Bin_prot.Shape.t -> Bin_prot.Shape.t -> Bin_prot.Shape.t
val bin_size_t : 'a1 Bin_prot.Size.sizer -> 'a2 Bin_prot.Size.sizer -> 'a3 Bin_prot.Size.sizer -> 'a4 Bin_prot.Size.sizer -> ('a1'a2'a3'a4) t Bin_prot.Size.sizer
val bin_write_t : 'a1 Bin_prot.Write.writer -> 'a2 Bin_prot.Write.writer -> 'a3 Bin_prot.Write.writer -> 'a4 Bin_prot.Write.writer -> ('a1'a2'a3'a4) t Bin_prot.Write.writer
val bin_writer_t : 'a1 Bin_prot.Type_class.writer -> 'a2 Bin_prot.Type_class.writer -> 'a3 Bin_prot.Type_class.writer -> 'a4 Bin_prot.Type_class.writer -> ('a1'a2'a3'a4) t Bin_prot.Type_class.writer
val bin_read_t : 'a1 Bin_prot.Read.reader -> 'a2 Bin_prot.Read.reader -> 'a3 Bin_prot.Read.reader -> 'a4 Bin_prot.Read.reader -> ('a1'a2'a3'a4) t Bin_prot.Read.reader
val __bin_read_t__ : 'a1 Bin_prot.Read.reader -> 'a2 Bin_prot.Read.reader -> 'a3 Bin_prot.Read.reader -> 'a4 Bin_prot.Read.reader -> (Core_kernel__.Import.int -> ('a1'a2'a3'a4) t) Bin_prot.Read.reader
val bin_reader_t : 'a1 Bin_prot.Type_class.reader -> 'a2 Bin_prot.Type_class.reader -> 'a3 Bin_prot.Type_class.reader -> 'a4 Bin_prot.Type_class.reader -> ('a1'a2'a3'a4) t Bin_prot.Type_class.reader
val bin_t : 'a1 Bin_prot.Type_class.t -> 'a2 Bin_prot.Type_class.t -> 'a3 Bin_prot.Type_class.t -> 'a4 Bin_prot.Type_class.t -> ('a1'a2'a3'a4) t Bin_prot.Type_class.t
val compare : ('a1 -> 'a1 -> Core_kernel__.Import.int) -> ('a2 -> 'a2 -> Core_kernel__.Import.int) -> ('a3 -> 'a3 -> Core_kernel__.Import.int) -> ('a4 -> 'a4 -> Core_kernel__.Import.int) -> ('a1'a2'a3'a4) t -> ('a1'a2'a3'a4) t -> Core_kernel__.Import.int
val sexp_of_t : ('a1 -> Ppx_sexp_conv_lib.Sexp.t) -> ('a2 -> Ppx_sexp_conv_lib.Sexp.t) -> ('a3 -> Ppx_sexp_conv_lib.Sexp.t) -> ('a4 -> Ppx_sexp_conv_lib.Sexp.t) -> ('a1'a2'a3'a4) t -> Ppx_sexp_conv_lib.Sexp.t
val t_of_sexp : (Ppx_sexp_conv_lib.Sexp.t -> 'a1) -> (Ppx_sexp_conv_lib.Sexp.t -> 'a2) -> (Ppx_sexp_conv_lib.Sexp.t -> 'a3) -> (Ppx_sexp_conv_lib.Sexp.t -> 'a4) -> Ppx_sexp_conv_lib.Sexp.t -> ('a1'a2'a3'a4) t
val map : ('a1'a2'a3'a4) t -> f1:('a1 -> 'b1) -> f2:('a2 -> 'b2) -> f3:('a3 -> 'b3) -> f4:('a4 -> 'b4) -> ('b1'b2'b3'b4) t