let of_channel cin =
  let f _ =
    In_channel.input_line cin
    |> Option.map ~f:Line.of_string_unsafe
  in Stream.from f