Rust (like Haskell) has a much richer language for accurately modelling and enforcing the value domain.