Element type is useful in code generators but it is lost after construction.
I reverted this change since it broke dependent projects, and the modeling generally looks incorrect.
baseAttr is intended to be used in the decorator classes that are not proper attributes themselves, but only add additional constraints to the existing attributes. For example, default-valued attributes of type XAttr don't need the value to be constructed, but they are still attributes of type XAttr. Array attributes of type XArrayAttr are _not_ XAttr. If you need the element attribute for some reason, store it in a different tablegen field. Please also specify _why_ you need this change in the commit message, not only the contents of the change (https://llvm.org/docs/DeveloperPolicy.html#commit-messages).