package core
Module type Interfaces.Stable3_with_witnessSource
val stable_witness :
'a Ppx_stable_witness_runtime.Stable_witness.t ->
'b Ppx_stable_witness_runtime.Stable_witness.t ->
'c Ppx_stable_witness_runtime.Stable_witness.t ->
('a, 'b, 'c) t Ppx_stable_witness_runtime.Stable_witness.tinclude Bin_prot.Binable.S3 with type ('a1, 'a2, 'a3) t := ('a1, 'a2, 'a3) t
val bin_shape_t :
Bin_prot.Shape.t ->
Bin_prot.Shape.t ->
Bin_prot.Shape.t ->
Bin_prot.Shape.tval bin_size_t : ('a, 'b, 'c, ('a, 'b, 'c) t) Bin_prot.Size.sizer3val bin_write_t : ('a, 'b, 'c, ('a, 'b, 'c) t) Bin_prot.Write.writer3val bin_read_t : ('a, 'b, 'c, ('a, 'b, 'c) t) Bin_prot.Read.reader3val __bin_read_t__ : ('a, 'b, 'c, int -> ('a, 'b, 'c) t) Bin_prot.Read.reader3val bin_writer_t : ('a, 'b, 'c, ('a, 'b, 'c) t) Bin_prot.Type_class.S3.writerval bin_reader_t : ('a, 'b, 'c, ('a, 'b, 'c) t) Bin_prot.Type_class.S3.readerval bin_t : ('a, 'b, 'c, ('a, 'b, 'c) t) Bin_prot.Type_class.S3.tinclude Ppx_compare_lib.Comparable.S3
with type ('a1, 'a2, 'a3) t := ('a1, 'a2, 'a3) t
include Sexplib0.Sexpable.S3 with type ('a1, 'a2, 'a3) t := ('a1, 'a2, 'a3) t
val t_of_sexp :
(Sexplib0.Sexp.t -> 'a) ->
(Sexplib0.Sexp.t -> 'b) ->
(Sexplib0.Sexp.t -> 'c) ->
Sexplib0.Sexp.t ->
('a, 'b, 'c) tval sexp_of_t :
('a -> Sexplib0.Sexp.t) ->
('b -> Sexplib0.Sexp.t) ->
('c -> Sexplib0.Sexp.t) ->
('a, 'b, 'c) t ->
Sexplib0.Sexp.t