+(defstruct (sset (:copier nil))
+ ;; The element at the head of the list here seems always to be
+ ;; ignored. I think this idea is that the extra level of indirection
+ ;; it provides is handy to allow various destructive operations on
+ ;; SSETs to be expressed more easily. -- WHN
+ (elements (list nil) :type cons))