Currently the only "built in" attributes are position attributes, and we only use a few reserved name attributes. We should expose more for lower level data access and flexibility.
[ ] normals (vertex, corner, face)
[x] material index
[ ] tangents
[x] vertex colors (color attributes on the face corner domain)
[ ] ...
A couple other things to consider:
1. It's possible that some of them will need to be read-only.
2. Some types like "bevel weight" don't fit so well in a more generalized attribute system and should likely be versioned to use more generic types like `CD_PROP_FLOAT`.