val wrap_main_thread : ('a -> 'b) -> 'a -> 'b tval wrap : thread_id:int -> ('a -> 'b) -> 'a -> 'b tval wrap_mt : ('a -> 'b) -> 'a -> 'b tval bind : 'a t -> f:('a -> 'b t) -> 'b tval map : 'a t -> f:('a -> 'b) -> 'b tval (>>=) : 'a t -> ('a -> 'b t) -> 'b tval (>>|) : 'a t -> ('a -> 'b) -> 'b tval gc_finalise : ('a -> unit t) -> 'a -> unit