TIL about Rust's NonZeroUsize, which is an integer that is never zero. Rust can optimise Option<NonZeroUsize> to be the same size in memory as usize! https://doc.rust-lang.org/std/num/struct.NonZeroUsize.html