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);
}