Arithmethic overflow should not raise an exception

There are some scenarios were saturation arithmetic operations are needed/prefered.

Overflowing (+) and modulo (&+) are more common IME, and so they have designated operators.

For saturating the LLVM intrinsics can be declared and used. https://llvm.org/docs/LangRef.html#saturation-arithmetic-intrinsics