"Did you know that C# has: lambdas, closures, optional duck typing, first-class functions, better generics than Java, and type inference that is sometimes spooky?"
I did know that, and these things heavily factor into why I default to C# for most projects these days! .NET 4 is awesome.
C# is an excellent language. It has all these great things, yet doesn't feel polluted or bloated at all. I absolutely love lambdas, closures, and generics. They help write concise and clear code. Generic support in C# and F# and the CLR itself is brilliant.
Writing event-driven, asynchronous IO code in .NET code is a breeze. It seems like the current programming trend around these parts is focused on "iterating fast" and having async IO. C# gives me both of these things, with the bonus of having the compiler catch most of my errors.
I disagree with the general notion that duck-typed languages are more empowering or let you iterate faster than strongly typed languages.
If you think that a language that is lazy (or worse, unspecific) about types lets you write code faster, I think that you have some fundamental problems with how you approach development.
The whole dynamic languages = faster code production is an unsettling school of thought, in my opinion.