Hardcaml_kernel.With_validSourceval sexp_of_t2 :
('a -> Sexplib0.Sexp.t) ->
('b -> Sexplib0.Sexp.t) ->
('a, 'b) t2 ->
Sexplib0.Sexp.tval t2_of_sexp :
(Sexplib0.Sexp.t -> 'a) ->
(Sexplib0.Sexp.t -> 'b) ->
Sexplib0.Sexp.t ->
('a, 'b) t2val bin_size_t2 :
'a 'b. 'a Bin_prot.Size.sizer ->
'b Bin_prot.Size.sizer ->
('a, 'b) t2 Bin_prot.Size.sizerval bin_write_t2 :
'a 'b. 'a Bin_prot.Write.writer ->
'b Bin_prot.Write.writer ->
('a, 'b) t2 Bin_prot.Write.writerval bin_writer_t2 :
'a 'b. 'a Bin_prot.Type_class.writer ->
'b Bin_prot.Type_class.writer ->
('a, 'b) t2 Bin_prot.Type_class.writerval bin_read_t2 :
'a 'b. 'a Bin_prot.Read.reader ->
'b Bin_prot.Read.reader ->
('a, 'b) t2 Bin_prot.Read.readerval __bin_read_t2__ :
'a 'b. 'a Bin_prot.Read.reader ->
'b Bin_prot.Read.reader ->
('a, 'b) t2 Bin_prot.Read.vtag_readerval bin_reader_t2 :
'a 'b. 'a Bin_prot.Type_class.reader ->
'b Bin_prot.Type_class.reader ->
('a, 'b) t2 Bin_prot.Type_class.readerval bin_t2 :
'a 'b. 'a Bin_prot.Type_class.t ->
'b Bin_prot.Type_class.t ->
('a, 'b) t2 Bin_prot.Type_class.tval hash_fold_t2 :
'a 'b. (Ppx_hash_lib.Std.Hash.state -> 'a -> Ppx_hash_lib.Std.Hash.state) ->
(Ppx_hash_lib.Std.Hash.state -> 'b -> Ppx_hash_lib.Std.Hash.state) ->
Ppx_hash_lib.Std.Hash.state ->
('a, 'b) t2 ->
Ppx_hash_lib.Std.Hash.stateinclude Ppx_compare_lib.Equal.S1__local with type 'a t := 'a tinclude Ppx_compare_lib.Comparable.S1__local with type 'a t := 'a tinclude Ppx_hash_lib.Hashable.S1 with type 'a t := 'a tApplies the provided function to the value, keeping valid the same. Semantically similar to OCaml's Option.map
val map_value2 :
(module Comb.S with type t = 'a) ->
('a, 'b) t2 ->
('a, 'c) t2 ->
f:('b -> ('c -> 'd) @ local) @ local ->
('a, 'd) t2Similar to map_value, but for a function that takes two arguments. The result is valid if both arguments were valid.
val and_then :
(module Comb.S with type t = 'a) ->
('a, 'b) t2 ->
f:('b -> ('a, 'c) t2) @ local ->
('a, 'c) t2Applies the provided With_valid-returning function to the value. The result is valid if the initial argument was valid, and the value returned by the function is valid. Semantically similar to Option.bind
val and_then2 :
(module Comb.S with type t = 'a) ->
('a, 'b) t2 ->
('a, 'c) t2 ->
f:('b -> ('c -> ('a, 'd) t2) @ local) @ local ->
('a, 'd) t2Similar to and_then, but for a function that takes two arguments. The result is valid if both arguments are valid and the value returned by the function is valid.
Create a new hardcaml interface with type ('a, 'a X.t) With_valid.t2.
Helper functions, similar to those of Of_signal in Interface.S, to ease usage of Signal.t t. Function types differ from Of_signal where the width of value is needed.