By all means, have more clumsy, less straightforward ways to represent the lack of a value in your code, because Tony Hoare says so.
Then I think of it and I see the real problem is languages making all nonprimitive types into pointers without being explicit. In a language like C it's more obvious what can be null.