sig
  type in_channel
  type out_channel
  val make_in_channel :
    (string -> int -> int -> int Lwt.t) -> Lwt_chan.in_channel
  val input_line : Lwt_chan.in_channel -> string Lwt.t
  val input_value : Lwt_chan.in_channel -> 'Lwt.t
  val input : Lwt_chan.in_channel -> string -> int -> int -> int Lwt.t
  val really_input :
    Lwt_chan.in_channel -> string -> int -> int -> unit Lwt.t
  val input_char : Lwt_chan.in_channel -> char Lwt.t
  val make_out_channel :
    (string -> int -> int -> int Lwt.t) -> Lwt_chan.out_channel
  val output : Lwt_chan.out_channel -> string -> int -> int -> unit Lwt.t
  val flush : Lwt_chan.out_channel -> unit Lwt.t
  val output_string : Lwt_chan.out_channel -> string -> unit Lwt.t
  val output_value : Lwt_chan.out_channel -> '-> unit Lwt.t
end