I realized, I don't like this overall approach to QualifiedName. Having a list of NamePart seems error prone, when there are exactly 4 different name parts that can be there. Using a NameType as a means to access the desired part of the name can be replaced by much clearer attribute access. It seems to me we should remove QualifiedName and use (and slightly extend) MQName instead.