Foresight or luck?
Chapter 5: Fast-tracked delegates: 5.0 (Introduction)
Last updated: 2/24/2008
Eric admits in comments that the language designers perhaps weren't quite as foresighted as I gave them credit for. However, as he puts it:
It was foresighted in the sense that the designers knew that if they added generics, iterator and anonymous functions, then that would open up vast new areas for extension of the language. What exactly those areas were going to look like, no one knew.
Either way, the limited improvements to delegates in C# 2 certainly act as a welcome stepping stone before the full-on functional emphasis of C# 3.