Java and Scala's type systems are unsound: the existential crisis of null pointers