The type system violation which I talk about - is when emulating unions.
Why is it allowed in safe context?
It allows you to handle value types, as diff