val (>|=) : 'a t -> ('a -> 'b) -> 'b tval (>>=) : 'a t -> ('a -> 'b t) -> 'b to >>= f is the monadic bind.
val (<*>) : ('a -> 'b) t -> 'a t -> 'b tf <*> o returns Some (f x) if o is Some x and None if o is None.
val (<$>) : ('a -> 'b) -> 'a t -> 'b tval (<+>) : 'a t -> 'a t -> 'a to1 <+> 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 tval and+ : 'a t -> 'b t -> ('a * 'b) tval let* : 'a t -> ('a -> 'b t) -> 'b tval and* : 'a t -> 'b t -> ('a * 'b) t