let channel_lines ch =
  List.rev (fold_channel_lines (fun rev_acc line -> line :: rev_acc) [] ch)