let lines_of_channel cin = let f _ = try Some (input_line cin) with End_of_file -> None in Stream.from f