In my previous posting, the counter example should have read (setf (cdar ..) .), since (setf (cadr ..) .) *would* be covered by backbone copying. Hope this didn't cloud things. I grow rusty on "under-the-hood tinkering", since I now use mainly semantically cleaner defstructs.