Polyglot Programming. Bertrand Meyer keeps us on tentahooks with his series of .NET articles. He explains carefully how Microsoft have squeezed C++ into the .NET model by eliminating language constructs such as multiple inheritance and templates and leaves us thinking that he's got a different solution all worked out for Eiffel. I don't believe it myself - .NET is a lowest common denominator model. The CLR doesn't support multiple inheritance so the closest you're going to get is to map abstract classes to interfaces. No inherited functionality (i.e. mixins) is going to make it into the CLR as it stands.