And it decays to the naked type in a blink of an eye. And some function down the road will do the validation again...
Not if that function down the road only accepted validated in the first place because that is what it needed. Follow the rule - if you need validated instance only accept validated type - do not try to validate.
