Module Stable.V1

type ('a, 'b) t = {
data : 'a;
proof : 'b;
}
val bin_shape_t : Core_kernel.Bin_prot.Shape.t -> Core_kernel.Bin_prot.Shape.t -> Core_kernel.Bin_prot.Shape.t
val bin_size_t : 'a 'b. 'a Core_kernel.Bin_prot.Size.sizer -> 'b Core_kernel.Bin_prot.Size.sizer -> ( 'a, 'b ) t Core_kernel.Bin_prot.Size.sizer
val bin_write_t : 'a 'b. 'a Core_kernel.Bin_prot.Write.writer -> 'b Core_kernel.Bin_prot.Write.writer -> ( 'a, 'b ) t Core_kernel.Bin_prot.Write.writer
val bin_writer_t : 'a Core_kernel.Bin_prot.Type_class.writer -> 'b Core_kernel.Bin_prot.Type_class.writer -> ( 'c, 'd ) t Core_kernel.Bin_prot.Type_class.writer
val __bin_read_t__ : 'a 'b. 'a Core_kernel.Bin_prot.Read.reader -> 'b Core_kernel.Bin_prot.Read.reader -> ( int -> ( 'a, 'b ) t ) Core_kernel.Bin_prot.Read.reader
val bin_read_t : 'a 'b. 'a Core_kernel.Bin_prot.Read.reader -> 'b Core_kernel.Bin_prot.Read.reader -> ( 'a, 'b ) t Core_kernel.Bin_prot.Read.reader
val bin_reader_t : 'a Core_kernel.Bin_prot.Type_class.reader -> 'b Core_kernel.Bin_prot.Type_class.reader -> ( 'c, 'd ) t Core_kernel.Bin_prot.Type_class.reader
val bin_t : 'a Core_kernel.Bin_prot.Type_class.t -> 'b Core_kernel.Bin_prot.Type_class.t -> ( 'c, 'd ) t Core_kernel.Bin_prot.Type_class.t
val version : int
val __versioned__ : unit
val t_of_sexp : 'a 'b. ( Ppx_sexp_conv_lib.Sexp.t -> 'a ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'b ) -> Ppx_sexp_conv_lib.Sexp.t -> ( 'a, 'b ) t
val sexp_of_t : 'a 'b. ( 'a -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'b -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'a, 'b ) t -> Ppx_sexp_conv_lib.Sexp.t
val proof : ( 'a, 'b ) t -> 'c
val data : ( 'a, 'b ) t -> 'c
module Fields : sig ... end