include module type of Containers.Option
with module Infix := Containers.Option.Infix
val map_lazy : (unit -> 'b) -> ('a -> 'b) -> 'a option -> 'bval is_some : 'a option -> boolval is_none : 'a option -> boolval some : 'a -> 'a optionval flat_map_l : ('a -> 'b list) -> 'a option -> 'b listval k_compose : ('a -> 'b option) -> ('b -> 'c option) -> 'a -> 'c optionval map2 : ('a -> 'b -> 'c) -> 'a option -> 'b option -> 'c optionval filter : ('a -> bool) -> 'a option -> 'a optionval if_ : ('a -> bool) -> 'a -> 'a optionval get_or : default:'a -> 'a option -> 'aval apply_or : ('a -> 'a option) -> 'a -> 'aval value : 'a option -> default:'a -> 'aval get_exn_or : string -> 'a option -> 'aval get_lazy : (unit -> 'a) -> 'a option -> 'aval sequence_l : 'a option list -> 'a list optionval wrap : ?handler:(exn -> bool) -> ('a -> 'b) -> 'a -> 'b optionval wrap2 : ?handler:(exn -> bool) -> ('a -> 'b -> 'c) -> 'a -> 'b -> 'c optionval pure : 'a -> 'a optionval or_ : else_:'a option -> 'a option -> 'a optionval or_lazy : else_:(unit -> 'a option) -> 'a option -> 'a optionval choice : 'a option list -> 'a optionval flatten : 'a option option -> 'a optionval return_if : bool -> 'a -> 'a optionval (>|=) : 'a option -> ('a -> 'b) -> 'b optionval (>>=) : 'a option -> ('a -> 'b option) -> 'b optionval (<*>) : ('a -> 'b) option -> 'a option -> 'b optionval (<$>) : ('a -> 'b) -> 'a option -> 'b optionval (<+>) : 'a option -> 'a option -> 'a optionval (|?>) : 'a -> ('a -> 'a option) -> 'aval let+ : 'a option -> ('a -> 'b) -> 'b optionval and+ : 'a option -> 'b option -> ('a * 'b) optionval let* : 'a option -> ('a -> 'b option) -> 'b optionval and* : 'a option -> 'b option -> ('a * 'b) optionval (>=>) : ('a -> 'b option) -> ('b -> 'c option) -> 'a -> 'c optionval (<=<) : ('b -> 'c option) -> ('a -> 'b option) -> 'a -> 'c optionval to_list : 'a option -> 'a listval of_list : 'a list -> 'a optionval to_result : 'e -> 'a option -> ('a, 'e) Stdlib.resultval to_result_lazy : (unit -> 'e) -> 'a option -> ('a, 'e) Stdlib.resultval of_result : ('a, 'b) Stdlib.result -> 'a optiontype !'a iter = ('a -> unit) -> unittype !'a gen = unit -> 'a optiontype !'a printer = Stdlib.Format.formatter -> 'a -> unittype !'a random_gen = Stdlib.Random.State.t -> 'aval choice_iter : 'a option iter -> 'a optionval choice_seq : 'a option Stdlib.Seq.t -> 'a optionval to_gen : 'a option -> 'a genval to_seq : 'a option -> 'a Stdlib.Seq.tval to_iter : 'a option -> 'a iterinclude Ppx_compare_lib.Comparable.S1 with type 'a t := 'a t
val compare :
'a Base__Ppx_compare_lib.compare ->
'a t Base__Ppx_compare_lib.compareinclude Ppx_compare_lib.Equal.S1 with type 'a t := 'a t
val equal : 'a Base__Ppx_compare_lib.equal -> 'a t Base__Ppx_compare_lib.equalinclude Sexplib0.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 bind : 'a t -> f:('a -> 'b t) -> 'b tval map : 'a t -> f:('a -> 'b) -> 'b tval ap : ('a -> 'b) t -> 'a t -> 'b tval prod : 'a t -> 'b t -> ('a * 'b) tval pp :
('a_pp -> 'a -> unit, Stdlib.Format.formatter, unit, unit) Stdlib.format4 ->
'a_pp ->
Stdlib.Format.formatter ->
'a option ->
unitval map_or : 'a t -> default:'b -> f:('a -> 'b) -> 'bval flat_map : 'a t -> f:('a -> 'b t) -> 'b tval iter : 'a t -> f:('a -> unit) -> unitval exists : 'a t -> f:('a -> bool) -> boolval for_all : 'a t -> f:('a -> bool) -> boolval fold : 'a t -> 's -> f:('a -> 's -> 's) -> 's