Paulo Pinto:
C# and Java both have attributes, following these established design patterns, I don't think there should be any mystery over how they should be implemented.
There are other interesting ways to conceive attributes. I think of them in a different way, more like user-defined ways to extend the static type system.
Bye, bearophile