sig
  type t = Pervasives.in_channel
  val stdin : In_channel.t
  val create : ?binary:bool -> string -> In_channel.t
  val with_file : ?binary:bool -> string -> f:(In_channel.t -> 'a) -> 'a
  val close : In_channel.t -> unit
  val input : In_channel.t -> buf:string -> pos:int -> len:int -> int
  val really_input :
    In_channel.t -> buf:string -> pos:int -> len:int -> unit option
  val input_byte : In_channel.t -> int option
  val input_char : In_channel.t -> char option
  val input_binary_int : In_channel.t -> int option
  val unsafe_input_value : In_channel.t -> 'a option
  val input_all : In_channel.t -> string
  val input_line : ?fix_win_eol:bool -> In_channel.t -> string option
  val fold_lines :
    ?fix_win_eol:bool ->
    In_channel.t -> init:'-> f:('-> string -> 'a) -> 'a
  val input_lines : ?fix_win_eol:bool -> In_channel.t -> string list
  val iter_lines :
    ?fix_win_eol:bool -> In_channel.t -> f:(string -> unit) -> unit
  val seek : In_channel.t -> int64 -> unit
  val pos : In_channel.t -> int64
  val length : In_channel.t -> int64
  val set_binary_mode : In_channel.t -> bool -> unit
  val read_lines : string -> string list
  val read_all : string -> string
end