module type THREAD =sig..end
type 'a t
val return : 'a -> 'a tval bind : 'a t ->
('a -> 'b t) -> 'b tval fail : exn -> 'a tval catch : (unit -> 'a t) ->
(exn -> 'a t) -> 'a tval finalize : (unit -> 'a t) ->
(unit -> unit t) ->
'a tval sleep : float -> unit tval auto_yield : float -> unit -> unit t