sig
  val add_fileinput : fd:Unix.file_descr -> callback:(unit -> unit) -> unit
  val remove_fileinput : fd:Unix.file_descr -> unit
  val add_fileoutput : fd:Unix.file_descr -> callback:(unit -> unit) -> unit
  val remove_fileoutput : fd:Unix.file_descr -> unit
end