sig
  type t = Core.Core_thread.t
  val create : ('-> 'b) -> '-> t
  val self : unit -> t
  val id : t -> int
  val exit : unit -> unit
  val delay : float -> unit
  val join : t -> 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 yield : unit -> unit
  val sigmask :
    Core.Signal.sigprocmask_command ->
    Core.Signal.t list -> Core.Signal.t list
  val wait_signal : Core.Signal.t list -> int
  val threads_have_been_created : unit -> bool
  val num_threads : unit -> int option
  val block_forever : unit -> 'a
  val safe_create : (unit -> unit) -> Core.Std.Thread.t
end