The original intent of enforcing exact match between apply_to and the attribute's was to
ensure that the user will know what declarations receive the attribute. If the compiler changes the set of allowed attributes in the future.
However, the exact match, as implemented now, is too conservative. E.g. it does not allow using apply_to=variables(is_global) with an attribute which has SubjectList<[Var]>.
Applying an attribute to a subset of the allowed subjects should also be allowed.