The validator doesn’t know what kind of thing
alterwert will be at execution time.
We do - it should be a copy of an item.state object.
But that’s a good point - states are not commands, even if they look alike to us. Taking state ON from one switch Item and commanding another with it fails - it’s not the same as command ON.
It’s one of those rules quirks.
A safe course when in doubt, is to force the command interpreter parse whatever it wants out of a string.