Oh, agreed 100%. Thanks for the clarification. This is indeed what I do. I heavily enforce contracts (something some of my coworkers do not appreciate ;-).
Perhaps we don't agree on everything here, though, because I still do not see any problems with the existence of NPEs. However, I do appreciate language features that allow you to enforce non-nullability at compile time if desired.