You know what's fun?
Getting a nil where you are supposed to have an Optional.
Getting a nil where you are supposed to have an Optional.
In "pure" Scala (not in the FP sense, but just without mixing with Java) something like that is almost impossible.
For Scala 3 there are improvements. It's "null safe" as long as you opt-in (modulo Java libs, and of course doing stupid things like casting a null to some other type).
https://docs.scala-lang.org/scala3/reference/other-new-featu...
When you have people without clue on the team no language will safe you. You can also crash Haskell programs by throwing exceptions or just using List.head…