Jeremy Miller comments on whether the new features of .NET 3.0 represent bloat or important additions to the language in his article entitled, C# — I don’t care if it’s Rubenesque as long as it’s Rubyesque.
With the pending release of .NET vNext, I am concerned that the ability to write extension methods is the highest candidate for abuse and may lead to some poor designs for the rest of us to deal with in the future.
With a focus on writing rich domains, DSL’s, etcetera; extension methods may lead to further proliferation of the ‘utility’ class to solve more problems than it likely should. Flexibility in design doesn’t mean you ‘should’ do something, even though you can. This is where experience needs to step in and provide value.