Open
Description
I think, we can do this cleaner without the hierarchy.
The hierarchy is problematic for guards, because the types are not leaf types.
And we do not really use the hierarchy to much advantage anyway.
Removing it will perhaps also give more flexibility when it comes to subclasses and the properties (value, transfer array, etc).