> why a division operator, or an array access, doesn't return a `Result` type in nice languages such as Rust?
Rust has standard library functions to do this, if you want. arr.get(index) returns an Option. Integer types have .checked_div for panic-free divide. Float already doesn’t panic on an invalid division - it just returns NaN or Infinity.