type t
val create : unit -> tcreate () creates a new empty set.
val is_empty : t -> boolval add : t -> (unit -> [ `Stop_polling of 'a | `Continue_polling ]) -> 'a Async_unix__.Import.Deferred.tadd t f adds function f to the set t. f will run every time poll is called. f runs with the same execution context that was in effect when add was called. When poll is called and f returns `Stop_polling, the result of add becomes determined and f is removed from the set. Also, if f raises, it is removed from the set and the exception is sent to the monitor in effect when add was called,
val poll : t -> unitpoll t runs every function in the set t.