If you've used Managed Extensions, you're familiar with the CLR types that __gc and __value exposed.  These have now been replaced with the context-sensitive keywords ref and value.

Context-sensitive keywords?  That's right.  We've made huge efforts (especially with respect to IJW work) to ensure that we don't break our users' code in our haste to add new features.  That's why most of the CLR features exposed by Whidbey will only be keywords in the right context.  So, if you've already got an identifier named value - and who doesn't - don't worry.  Compiling with /clr isn't going to break that.

You can still create classes just like you always have.  With the added CLR types, most of us refer to conventional C++ classes as "native types."  We expose the new CLR types as extensions of regular classes.  Where you might have class A{}; before, you now have ref class A{};. Now you're dealing with a CLR type, and all the benefits that provides, all without breaking exisiting code.

This is really at the heart of what sets this new implementation apart from Managed Extensions.  It has an integrated feel into the original language, without breaking existing code, and __without __all __those __ugly __double __underscores.  The code looks and feels natural.