`sig type t val create : ('a -> 'b) -> 'a -> Thread.t val self : unit -> Thread.t val id : Thread.t -> int val exit : unit -> unit val kill : Thread.t -> unit val delay : float -> unit val join : 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 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 yield : unit -> unit val sigmask : Unix.sigprocmask_command -> int list -> int list val wait_signal : int list -> int end`