val map : f:('a -> 'b) -> 'c option -> 'd option
val apply : f:('a -> 'b option) -> 'c option -> 'b option
val (>>=) : 'a option -> ('a -> 'b option) -> 'b option
val (>>|) : 'a option -> ('a -> 'b) -> 'b option
val iter : f:('a -> unit) -> 'b option -> unit
val unopt : default:'a -> 'b option -> 'c
val unopt_map : f:('a -> 'b) -> default:'c -> 'd option -> 'e
val unopt_exn : exn -> 'a option -> 'b
val unopt_assert : loc:(string * int * int * 'a) -> 'b option -> 'c
val first_some : 'a option -> 'a option -> 'a option
val some : 'a -> 'b option
val pp :
?default:string ->
(Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter ->
'b option ->
unit
val try_with : (unit -> 'a) -> 'b option