Draft of attribute syntax API

:+1: here.  If 1 or 2 others agree, I'll include that in my next push to this branch.