Hello, Chris.
It depends on what sort of attribute it is. If it is something specific
to a particular function, adding it to the Function object makes sense
(e.g. see alignment and section info). If it affects the calling
convention, adding it to FunctionType makes sense.
I'm wanting some "general" attribute interface which can be applied to
concrete Function object. It seems, that just a set of string-string
pairs should be enough.
Surely, this interface can be used for some specific stuff at first time
(e.g. some attributes like visibility nowadays), which can be further
moved to its own implementation instead of generic one.