For_ppx.Diff_of_option
type 'a derived_on = 'a Base.option
val sexp_of_derived_on :
('a -> Sexplib0.Sexp.t) ->
'a derived_on ->
Sexplib0.Sexp.t
val derived_on_of_sexp :
(Sexplib0.Sexp.t -> 'a) ->
Sexplib0.Sexp.t ->
'a derived_on
val bin_shape_derived_on : Bin_prot.Shape.t -> Bin_prot.Shape.t
val bin_size_derived_on :
'a Bin_prot.Size.sizer ->
'a derived_on Bin_prot.Size.sizer
val bin_write_derived_on :
'a Bin_prot.Write.writer ->
'a derived_on Bin_prot.Write.writer
val bin_writer_derived_on :
'a Bin_prot.Type_class.writer ->
'a derived_on Bin_prot.Type_class.writer
val bin_read_derived_on :
'a Bin_prot.Read.reader ->
'a derived_on Bin_prot.Read.reader
val __bin_read_derived_on__ :
'a Bin_prot.Read.reader ->
(Base.int -> 'a derived_on) Bin_prot.Read.reader
val bin_reader_derived_on :
'a Bin_prot.Type_class.reader ->
'a derived_on Bin_prot.Type_class.reader
val bin_derived_on :
'a Bin_prot.Type_class.t ->
'a derived_on Bin_prot.Type_class.t
include Sexplib0.Sexpable.S2 with type ('a, 'a_diff) t := ('a, 'a_diff) t
include Bin_prot.Binable.S2 with type ('a, 'a_diff) t := ('a, 'a_diff) t
include Ppx_quickcheck_runtime.Quickcheckable.S2
with type ('a, 'a_diff) t := ('a, 'a_diff) t
val quickcheck_generator :
'a Base_quickcheck.Generator.t ->
'b Base_quickcheck.Generator.t ->
('a, 'b) t Base_quickcheck.Generator.t
val quickcheck_observer :
'a Base_quickcheck.Observer.t ->
'b Base_quickcheck.Observer.t ->
('a, 'b) t Base_quickcheck.Observer.t
val quickcheck_shrinker :
'a Base_quickcheck.Shrinker.t ->
'b Base_quickcheck.Shrinker.t ->
('a, 'b) t Base_quickcheck.Shrinker.t
include Sexplib0.Sexpable.S2 with type ('a, 'a_diff) t := ('a, 'a_diff) 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 Bin_prot.Binable.S2 with type ('a, 'a_diff) t := ('a, 'a_diff) 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
val get :
(from:'a -> to_:'a -> 'a_diff Optional_diff.t) ->
from:'a derived_on ->
to_:'a derived_on ->
('a, 'a_diff) t Optional_diff.t
val apply_exn :
('a -> 'a_diff -> 'a) ->
'a derived_on ->
('a, 'a_diff) t ->
'a derived_on
val of_list_exn :
('a_diff list -> 'a_diff Optional_diff.t) ->
('a -> 'a_diff -> 'a) ->
('a, 'a_diff) t list ->
('a, 'a_diff) t Optional_diff.t