val bind : 'a t -> ('a -> 'b t) -> 'b tval both : 'a t -> 'b t -> ('a * 'b) tval join : unit t list -> unit tval pick : 'a t list -> 'a tval choose : 'a t list -> 'a tval async : (unit -> unit t) -> unitval cancel : 'a t -> unitval sleep : float -> unit t