If you're curious about how a language copes without the concept of null, I've written about the Option type in Rust.

https://thefuntastic.com/blog/head-first-option-type

Part 2, half written, is for rust programmers that want to learn about all the ways to handle option. But considering part 1 was on my hard drive for over a year I make no promises about when it will come out...

Building Intuitions for Rust's Option Type | thefuntastic

Being on a large Rust team, I've witnessed many experienced programmers' first touch points with Rust (myself included). From this vantage point, a few common stumbling blocks stand out: Rust's memory model is the obvious one. Being novel and unique, it deservedly gets a lot of airtime. However, if you've only spent your time in imperative languages (i.e. the ones that usually come with a paycheck) the Option type is unfamiliar and causes many fumbles.