So what is a leaf (in the example above it’s “translateX”) and how can I think about it in terms of attributes? How does it fit into the hierarchy of an object? Why does a .anim file need the leaf? Thanks!

.translateX is basically a “sub-attribute” of .translate. If you’re connecting or setting those you have to be sure that the parent attribute is not already locked or connected. All the default transform attributed (translate, rotate, etc) follow this pattern