Or that reasonable people may disagree on when to make signed/unsigned overflow undefined: Zig didn't only make it an UB on unchecked build they also trigger an "abort on overflow" in checked build.
Make it implementation defined, if you must. But undefined is pretty sad.
Nobody forces you to use unchecked build!
And some people want maximum performances, I've read that bound checking can hurt SIMDification..
If it's opt-in, it's no so bad.
(In an ideal world, which we sadly don't live in, you would statically prove that the dynamic bound checking would always succeed, and only then remove it.)