Mark this `@private`.  Why put `attributeLocations` in the outer-scope?  I don't think it makes sense in this context.  Pun intended.