val (>|=) : 'a t -> ('a -> 'b) -> 'b t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
o >>= f
is the monadic bind.
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
.
val (<$>) : ('a -> 'b) -> 'a t -> 'b t
val (<+>) : 'a t -> 'a t -> 'a t
o1 <+> o2
is o1
if o1
is Some _
, o2
if o1
is None
.
Let operators on OCaml >= 4.08.0, nothing otherwise
val let+ : 'a t -> ('a -> 'b) -> 'b t
val and+ : 'a t -> 'b t -> ('a * 'b) t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val and* : 'a t -> 'b t -> ('a * 'b) t