public static IEnumerable <string> Tokens(this TextReader self, params Func <char?, char, bool>[] categories) { Check.Self(self); Check.Categories(categories); if (categories.Length == 0) { throw new ArgumentException("categories", "Must provide at least one catagory"); } return(Tokens(self, TextReaderRocksOptions.CloseReader, categories)); }