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