sig
  val header : Csv.in_channel -> string list
  val set_header : ?replace:bool -> Csv.in_channel -> string list -> unit
  val next : Csv.in_channel -> Csv.Row.t
  val fold_left :
    f:('-> Csv.Row.t -> 'a) -> init:'-> Csv.in_channel -> 'a
  val fold_right : f:(Csv.Row.t -> '-> 'a) -> Csv.in_channel -> '-> 'a
  val iter : f:(Csv.Row.t -> unit) -> Csv.in_channel -> unit
  val input_all : Csv.in_channel -> Csv.Row.t list
  val load :
    ?separator:char ->
    ?strip:bool ->
    ?has_header:bool ->
    ?header:string list ->
    ?backslash_escape:bool ->
    ?excel_tricks:bool -> ?fix:bool -> string -> Csv.Row.t list
  val current : Csv.in_channel -> Csv.Row.t
end