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
[ ] custom loop normals
[ ] crease
[ ] bevel weight
[ ] tangents
[ ] ...
A couple other things to consider:
1. It's possible that some of them will need to be read-only.
2. Some of these attribute types will exist for multiple domains, others for only a single domain. This may require some idea of a required domain for a reserved name attribute.
3. 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`.