sig
  type t
  val close : t -> Int_result.unit
  val close_noerr : t -> unit
  val close_wait : t -> unit Lwt.t
  val is_active : t -> bool
  val ref' : t -> unit
  val unref : t -> unit
  val has_ref : t -> bool
  val fileno : t -> Unix.file_descr uv_result
  val fileno_exn : t -> Unix.file_descr
  val to_handle : Uwt.Poll.t -> Uwt.Handle.t
  type event = Readable | Writable | Disconnect | Prioritized
  val start :
    Unix.file_descr ->
    Uwt.Poll.event list ->
    cb:(Uwt.Poll.t -> Uwt.Poll.event list uv_result -> unit) ->
    Uwt.Poll.t uv_result
  val start_exn :
    Unix.file_descr ->
    Uwt.Poll.event list ->
    cb:(Uwt.Poll.t -> Uwt.Poll.event list uv_result -> unit) -> Uwt.Poll.t
  val update_events : Uwt.Poll.t -> Uwt.Poll.event list -> Int_result.unit
  val update_events_exn : Uwt.Poll.t -> Uwt.Poll.event list -> unit
end