sig
  type file_descr = Unix.file_descr
  type sockaddr = Unix.sockaddr
  type msg_flag = Unix.msg_flag
  type 'a promise
  type context
  exception Cancelled
  exception Promise_cancelled
  val new_context : unit -> Aeio.context
  val my_context : unit -> Aeio.context
  val cancel : Aeio.context -> unit
  val async : ?ctxt:Aeio.context -> ('-> 'b) -> '-> 'Aeio.promise
  val await : 'Aeio.promise -> 'a
  val yield : unit -> unit
  val accept : Aeio.file_descr -> Aeio.file_descr * Aeio.sockaddr
  val recv :
    Aeio.file_descr -> bytes -> int -> int -> Aeio.msg_flag list -> int
  val send :
    Aeio.file_descr -> bytes -> int -> int -> Aeio.msg_flag list -> int
  val sleep : float -> unit
  val run : (unit -> unit) -> unit
end