<p dir="ltr"><silly_question><br>
Does it work for plists? For alists?<br>
</silly_question></p>
<p dir="ltr">Can the user write methods to add his own structures/classes/constructs to the set understood by REF?</p>
<p dir="ltr">More seriously, this function seems to me to be an over generalization, distorting CL style.  Built into the numerous built-in ways of supporting data in CL are assumptions about the efficiency and scaling of the various kinds. Although efficiency might not matter for particular low-bandwidth operations, in other places it will certainly matter.  That's obvious.  But even more important is that use of an over-generalized reference operator makes the code harder to read and understand.  If I see an aref, I know I'm looking at an array, understand something about the expected performance, and know what to look for elsewhere in a huge module to examine where this array is constructed and modified.</p>
<p dir="ltr">For me, traditional CL operators have a nice, time-tested balance between generality and specificity.<br>
</p>