Hardcoded Attribute Names Removal [Proposal]

The object/collection input sockets in these nodes have to be removed as well

I understand the problem. There would be no way to know from within the GN nodes which attributes are available inside an object. Each object could have a different set of attributes.

Would there be a way to have ‘attribute classes’ or ‘attribute traits’ (a set of attributes, associated with a label)?
An example of a class could be something like “Basic”, which associates with attributes (uv map | position ).

Any object that fulfills “Basic” does have attributes ‘uv map’ and ‘position’. (An unwrapped mesh would fulfill “Basic”. An empty object or a text object won’t fulfill “Basic”.)

Given a class system like that …
If an ‘object info’ node could specify a list of required classes (an error for any input object which does not conform to required classes), there might not be the need anymore to select specific objects from within GN nodes.