In his comments he gives some answers, (and he has given some in past blog entries)
Handling of the constant 0, typed references (http://www.eggheadcafe.com/articles/20030114.asp), type analysis of conditional expressions...
But what he s trying to say is that it shouldn t really matter to the end user, because they re weird corner cases (like the "(m=> (m=> (m=> ..." case) that are needed to help the compiler, and aren t part of the spec.
Follow the spec and you should be fine.
(below added 1:42 pm)
So, I said "Follow the spec and you should be fine." That s really all the advice that I can help you with. Yes, there are some places where the compiler deviates from the spec. But these aren t really documented, partially because they don t know what to do. Do they fix the compiler to adhere to the spec? Or do they change the spec for the weird behavior. That s basically the whole point of the handling of zero article:
http://blogs.msdn.com/ericlippert/archive/2006/03/29/the-root-of-all-evil-part-two.aspx
That s kinda the point of these extensions. They re (for the most part) undocumented, because (for the most part) they re unknown. Who knows, maybe there s some really weird handling of Flags enums that doesn t quite conform to the spec, but we wouldn t really know about it until we do some really weird thing with them. The flags enumerations have been tested, and should mostly follow the spec, so when I say "follow the spec and you should be fine" I mean precisely that. You might not be fine, because there are gotchas. but Eric is doing what he can to fix these problems, and make them known in the interim.