Module type Full.S2

type ('a, 'b) t
include VERSIONED
val version : int
val __versioned__ : unit
include Serializable.S2 with type ('a, 'b) t := ( 'a, 'b ) t
include Sexpable.S2 with type ('a, 'b) t := ( 'a, 'b ) t
val t_of_sexp : ( Sexplib0__.Sexp.t -> 'a ) -> ( Sexplib0__.Sexp.t -> 'b ) -> Sexplib0__.Sexp.t -> ( 'a, 'b ) t
val sexp_of_t : ( 'a -> Sexplib0__.Sexp.t ) -> ( 'b -> Sexplib0__.Sexp.t ) -> ( 'a, 'b ) t -> Sexplib0__.Sexp.t
include Binable.S2 with type ('a, 'b) t := ( 'a, 'b ) t
val bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.t -> Bin_prot.Shape.t
val bin_size_t : ( 'a, 'b, ( 'a, 'b ) t ) Bin_prot.Size.sizer2
val bin_write_t : ( 'a, 'b, ( 'a, 'b ) t ) Bin_prot.Write.writer2
val bin_read_t : ( 'a, 'b, ( 'a, 'b ) t ) Bin_prot.Read.reader2
val __bin_read_t__ : ( 'a, 'b, int -> ( 'a, 'b ) t ) Bin_prot.Read.reader2
val bin_writer_t : ( 'a, 'b, ( 'a, 'b ) t ) Bin_prot.Type_class.S2.writer
val bin_reader_t : ( 'a, 'b, ( 'a, 'b ) t ) Bin_prot.Type_class.S2.reader
val bin_t : ( 'a, 'b, ( 'a, 'b ) t ) Bin_prot.Type_class.S2.t
include Jsonable.S2 with type ('a, 'b) t := ( 'a, 'b ) t
val to_yojson : 'a jsonable -> 'b jsonable -> ( 'a, 'b ) t jsonable
val of_yojson : 'a maybe_json -> 'b maybe_json -> ( 'a, 'b ) t maybe_json
include Comparable.S2 with type ('a, 'b) t := ( 'a, 'b ) t
val compare : 'a comparable -> 'b comparable -> ( 'a, 'b ) t comparable
val equal : 'a equalable -> 'b equalable -> ( 'a, 'b ) t equalable
include Hash_foldable.S2 with type ('a, 'b) t := ( 'a, 'b ) t
val hash_fold_t : 'a hashable -> 'b hashable -> ( 'a, 'b ) t hashable