Peter Sestoft and his team just released a library of collections for the CLI called C5 Collections. Unlike the Power Collections, this library introduces many new abstractions that are not present in the .NET Framework. The benefit of such approach is that it allows for some powerful scenarios that are not possible if you simply build on top of the existing abstractions (riches compile time checking). The drawback is that it might not integrate with code that uses the standard abstractions as seamlessly as the Power Collections.

These two libraries represent two distinct philosophies of extending the Framework/CLI. They make different tradeoffs between the degree of innovation and interoperability. If you have used any of these libraries, I would appreciate you comments on how these philosophies work in practice and in general you observations on using 3rd party libraries. Do they integrate well with the Framework? How are they in terms of usability? Do they provide support for main functionality you are/were missing in the Framework?