sig
  type t
  val create : ('-> 'b) -> '-> Thread.t
  val self : unit -> Thread.t
  val id : Thread.t -> int
  exception Exit
  val exit : unit -> unit
  val kill : Thread.t -> unit
  val delay : float -> unit
  val join : Thread.t -> unit
  val yield : unit -> unit
  val wait_read : Unix.file_descr -> unit
  val wait_write : Unix.file_descr -> unit
  val wait_timed_read : Unix.file_descr -> float -> bool
  val wait_timed_write : Unix.file_descr -> float -> bool
  val select :
    Unix.file_descr list ->
    Unix.file_descr list ->
    Unix.file_descr list ->
    float ->
    Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
  val wait_pid : int -> int * Unix.process_status
  val sigmask : Unix.sigprocmask_command -> int list -> int list
  val wait_signal : int list -> int
  val default_uncaught_exception_handler : exn -> unit
  val set_uncaught_exception_handler : (exn -> unit) -> unit
end