Somehow UTF-16 reserves some of those decoded integer values (instead of solving its whatever problem it had in its encoding itself)
The fact that UTF-8 didn't need to also destroy some output integer values to work proves it's not necessary to do that
Encoding and decoded value should be separate concerns
That's like having a mathematical encoding of integers that's like base 10, but for some reason you decide that integer values 100 to 110 are reserved and may never be used by anyone, not even other legit encodings like regular base 10