The system attribute called KeyAttributes is a list . Here's a list:
apples, pears, kumquats
here's a list of attributes
Color, Shape, DEVONthinkGroup
the latter list can be the contents of KeyAttributes -- i.e.,
$KeyAttributes==("Color", "Shape", "DEVONthinkGroup")
Notice that (normally)** when the name of an attribute uses a dollar sign then we mean the value (or data) that an attribute takes in a note or system wide. When we don't use a dollar sign, we mean the attribute without reference to its data.
So, again, when we change the KeyAttributes list, we just change the names of the attributes on that list -- we don't change their data. And when we change $KeyAttributes in a note or a prototype, we change the list of attribute names for that note's KA list. This can take a while to get your head around, but it is a common set of understandings needed when working with program code or data modeling.
** There are exceptions -- let's ignore that for now.