sig
  val iter_lines_of_channel :
    (string -> unit) -> Pervasives.in_channel -> unit
  val iter_lines_of_file : (string -> unit) -> string -> unit
  val lines_of_channel : Pervasives.in_channel -> string list
  val lines_of_file : string -> string list
  val channel_contents : Pervasives.in_channel -> string
  val file_contents : ?bin:bool -> string -> string
  val save : string -> string -> unit
  val save_lines : string -> string list -> unit
  exception Skip
  val map : ('-> 'b) -> 'a list -> 'b list
  val rev_map : ('-> 'b) -> 'a list -> 'b list
  val fold_left : ('-> '-> 'a) -> '-> 'b list -> 'a
  val fold_right : ('-> '-> 'b) -> 'a list -> '-> 'b
  val map_lines_of_channel :
    (string -> 'a) -> Pervasives.in_channel -> 'a list
  val map_lines_of_file : (string -> 'a) -> string -> 'a list
end