let map_file_lines filename mapfunc =
  List.rev
    (fold_file_lines (fun rev_acc line -> (mapfunc line) :: rev_acc) []
       filename)