Instead of retrieving which attributes to transfer from the geometry set which exists at a different abstraction level, get them from accessors directly with a newer utility function. This removes boilerplate code and makes the logic clearer for a future even more generic attribute propagation API.