sig
  type input
  exception No_more_input
  exception Input_closed
  val nread : Io.input -> int -> Istring.t
  val close_in : Io.input -> unit
  val create_in :
    (unit -> char) ->
    (Istring.t -> int -> int -> int) -> (unit -> unit) -> Io.input
  val read_all : Io.input -> Istring.t
  exception Overflow of string
  val read_byte : Io.input -> int
  val read_ui16 : Io.input -> int
end