Dealing with absence of value

Tagged union

Untagged union

Null reinvented

Some type theory

T?? = Optional.Optional.T 
= Some(Some(T) | None) | None
= Some(Some(T)) | Some(None) | None
!= T?
T?? = Optional.Optional.T 
= T | None | None
= T | None
= T?

Some practice

Further reading

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store