Alex Rønne Petersen:
and so on. It's fairly trivial to set up a sane type system this way, and you make it explicit where null is acceptable. This is how type systems should be done IMO - things should not be allowed to have some arbitrary invalid state unless the programmer allows it.
I agree, but creation, initialization and interactions between objects is not trivial when you introduce nonnullables. This complexity is a cost that must be taken into account.
Bye, bearophile