@codefolio
I realized I forgot to give you the promised reply! Here’s the way-to-short version of what I was going to say about null in that talk.
The distinguishing features of null are (1) it acts as if it’s a subtype of everything and (2) it has no methods. But if “subtype” means anything in an OO lang, it’s that methods of the supertype are still present on subtypes! Thus the core problem: null violates LSP. It’s a lie baked into the type system. 1/