type 'a t
val (>>=) : 'a t ‑> ('a ‑> 'b t) ‑> 'b t
t >>= f returns a computation that sequences the computations represented by two monad elements. The resulting computation first does t to yield a value v, and then runs the computation returned by f v.
t >>= f
t
v
f v
val (>>|) : 'a t ‑> ('a ‑> 'b) ‑> 'b t
t >>| f is t >>= (fun a -> return (f a)).
t >>| f
t >>= (fun a -> return (f a))