The JSR 269 language model for elements is very flat, a root Element interface and five direct subinterfaces. However, certain children interfaces have a method in common and it could be useful to be able to group objects based on the presence of those methods. For example, TypeElements and PackageElements have a getQualifiedName method and TypeElements and ExecutableElements have a getTypeParameters method. To allow such grouping, "QualifiedNamable extends Element" and a "Parameterizable extends Element" interfaces could be added and implemented by the modeling interfaces in question.