Fd_by_descr is a table of the open Fd.ts, indexed by file descriptor number.
In this interface, we use Raw_fd.t rather than Fd.t to avoid a dependency cycle,
because the Fd module can't be defined yet.
include sig ... endval sexp_of_t : t ‑> Sexplib.Sexp.tinclude Async_unix__.Import.Invariant.S with type t := tval invariant : t Base__.Invariant_intf.invval create : num_file_descrs:int ‑> tval capacity : t ‑> intval add : t ‑> Async_unix__.Raw_fd.t ‑> unit Core.Or_error.tval mem : t ‑> Async_unix__.Import.File_descr.t ‑> boolval find : t ‑> Async_unix__.Import.File_descr.t ‑> Async_unix__.Raw_fd.t optionval find_exn : t ‑> Async_unix__.Import.File_descr.t ‑> Async_unix__.Raw_fd.tval remove : t ‑> Async_unix__.Raw_fd.t ‑> unitval fold : t ‑> init:'a ‑> f:('a ‑> Async_unix__.Raw_fd.t ‑> 'a) ‑> 'aval iter : t ‑> f:(Async_unix__.Raw_fd.t ‑> unit) ‑> unit