I don't see anything about async/await, extension methods, or lambdas. C# has quite a few additions since 2006. I would hate to go back to C# 2. C# 5 is the current and C# 6 coming very soon.
Generics and user-defined conversion operators are powerful enough to nicely simulate Haskell's type classes (or Scala's traits), which, in my opinion, is a bigger deal than higher-order functions and 3.0+'s version of “type inferencing”.