I think we're going a bit past each other.

In AVR or other MPU-less architecture you can literally modify the string literal memory without triggering a crash.

Why? Because there is no memory protection ("rodata") at all.

And such microprocessors are still in use today, so it's a bit too far fetched to say "really old code."

It's UB, sure, but how many embedded programmers actually care? The OP's proposal is trying to change the type system so that this UB becomes much less likely to trigger in practice.