CCOpt.Infix
val (>|=) : 'a t -> ('a -> 'b) -> 'b t
o >|= f is map f o.
o >|= f
map f o
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
o >>= f is the monadic bind.
o >>= f
val (<*>) : ('a -> 'b) t -> 'a t -> 'b t
f <*> o returns Some (f x) if o is Some x and None if o is None.
f <*> o
Some (f x)
o
Some x
None
val (<$>) : ('a -> 'b) -> 'a t -> 'b t
f <$> o is like map f o.
f <$> o
val (<+>) : 'a t -> 'a t -> 'a t
o1 <+> o2 is o1 if o1 is Some _, o2 if o1 is None.
o1 <+> o2
o1
Some _
o2
Let operators on OCaml >= 4.08.0, nothing otherwise
include CCShimsMkLet_.S with type 'a t_let := 'a option
val let+ : 'a option -> ('a -> 'b) -> 'b option
val and+ : 'a option -> 'b option -> ('a * 'b) option
val let* : 'a option -> ('a -> 'b option) -> 'b option
val and* : 'a option -> 'b option -> ('a * 'b) option