C# has had generics since 2.0, so ALL is a bad choice of words there.
One of many posts about generics history in .NET:
http://blogs.msdn.com/b/dsyme/archive/2011/03/15/net-c-gener...
C# has had generics since 2.0, so ALL is a bad choice of words there.