The fact that blenlib doesn't know about the set of attribute types is actually an important detail right now that can influence how things are designed. Longer term it would be good to consolidate many of these attribute propagation algorithms anyway.