Make sure all checks for attributes go through a centralized function,
which checks whether attribute handling is enabled, and performs validation.
The type of the attribute is returned.
Sadly, metaprogramming is required as attributes have no sensible static getters.
Is it possible to skip T2 here? I.e., template <class T1, class... Others> and then hasAnyEnabledAttrOf<Others...>.