sig
  type t
  val create : ('-> 'b) -> '-> Thread.t
  val thread_uncaught_exception : exn -> unit
  val self : unit -> Thread.t
  external id : Thread.t -> int = "thread_id"
  val exit : unit -> unit
  val kill : Thread.t -> unit
  val delay : float -> unit
  val join : Thread.t -> unit
  val yield : unit -> unit
  val sleep : unit -> unit
  val wakeup : Thread.t -> unit
end