private static IEnumerable<char> Chars(TextReader self) { int c; while ((c = self.Read ()) >= 0) yield return (char) c; }