>>1Useful tool if the programmer checks for nulls. Alternatives to nulls usually result in programmers selecting arbitrary sentinel values like 9999.
>but why not option types and tagged unions
Most programmers either too brainlet to properly use them or want to save overhead of using these types. Plus the code using nulls often looks shorter/cleaner and easier to read.