type 'a t = [ | `One of 'a |
| `Two of 'a * 'a |
]val to_yojson : ( 'a -> Yojson.Safe.t ) -> 'a t -> Yojson.Safe.tval of_yojson :
( Yojson.Safe.t -> 'a Ppx_deriving_yojson_runtime.error_or ) ->
Yojson.Safe.t ->
'a t Ppx_deriving_yojson_runtime.error_orinclude Core_kernel.Bin_prot.Binable.S1 with type 'a t := 'a t
val bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.tval bin_size_t : ( 'a, 'a t ) Bin_prot.Size.sizer1val bin_write_t : ( 'a, 'a t ) Bin_prot.Write.writer1val bin_read_t : ( 'a, 'a t ) Bin_prot.Read.reader1val __bin_read_t__ : ( 'a, int -> 'a t ) Bin_prot.Read.reader1val bin_writer_t : ( 'a, 'a t ) Bin_prot.Type_class.S1.writerval bin_reader_t : ( 'a, 'a t ) Bin_prot.Type_class.S1.readerval bin_t : ( 'a, 'a t ) Bin_prot.Type_class.S1.tval compare : ( 'a -> 'a -> int ) -> 'a t -> 'a t -> intval equal : ( 'a -> 'a -> bool ) -> 'a t -> 'a t -> boolval hash_fold_t :
( Ppx_hash_lib.Std.Hash.state -> 'a -> Ppx_hash_lib.Std.Hash.state ) ->
Ppx_hash_lib.Std.Hash.state ->
'a t ->
Ppx_hash_lib.Std.Hash.stateinclude Ppx_sexp_conv_lib.Sexpable.S1 with type 'a t := 'a t
val t_of_sexp : ( Sexplib0__.Sexp.t -> 'a ) -> Sexplib0__.Sexp.t -> 'a tval sexp_of_t : ( 'a -> Sexplib0__.Sexp.t ) -> 'a t -> Sexplib0__.Sexp.tval to_latest : ( 'a -> 'b ) -> 'a t -> 'b tval of_latest :
( 'a -> ( 'b, 'err ) Core_kernel.Result.t ) ->
'a t ->
( 'b t, 'err ) Core_kernel.Result.t