The real performance benefits from this [null checks] come in at the MSIL level, unfortunately, so spec# etc. is the only way to go. None of this namby-pamby, prittle-pattle, tittle-tattle type nonesense.
With regard to dependency injection, I think Prism is leading the way here, and from a library point of view, it makes sense and the team has really done a fantastic job. If you gave me the cash and the staff to build a high-class, modern application, Prism
would be at the top of my list.
With regard to extension methods, you could pick a handful of your favorite static libraries, MessageBox.Show, Regex even Code Contracts and add them to your list. This will widen the scope for method name clashes, so i'm sure the BCL team will resist this
Thats not to say there isn't some perspicacious thinking going on here, because there is.
By prism you mean unity? unity is ok but its really an entry level ioc.. in terms of pure di I think windsor and MEF are worth looking at.
Windsor is a much more mature and capable ioc, and mef is more focused on different types of di.