val (>>=) : 'a t -> ('a -> 'b t) -> 'b tval (>>) : 'a t -> (unit -> 'b t) -> 'b tval (>|=) : 'a t -> ('a -> 'b) -> 'b tval (<*>) : ('a -> 'b) t -> 'a t -> 'b tval 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