Generics: subclasses become union of all their attributes, so that a subclass can define its "own" attributes and these will be inserted into the struct of the other subclasses (but not used).