anchor.diff:  (defun %struct-sort-fields (fields-and-options)
     "Split list into fields and options."
     (with-queue (f o)
  -    (mapcar #'((x)
  -	             (if (and (consp x) (%struct-option-keyword (car x)))
  -	                 (enqueue o x)
  -	                 (enqueue f x)))
  +    (mapcar (fn (if (and (consp _)
  +						 (%struct-option-keyword (car _)))
  +	                (enqueue o _)
  +	                (enqueue f _)))
   	        fields-and-options)
       (values (queue-list f) (queue-list o))))
   
  
positive.code:       ,@(%struct-getters name flds)
        (defmacro ,(make-symbol (string-concat "WITH-" (symbol-name name))) (s &rest body)
  		 `(with-struct ,name ,,s ,,@body)))))
  
negative.code:     (dolist (i (%struct-def name) (queue-list form))
        (enqueue form (car i)))))
  
  (defun %defstruct-expander (name &rest fields-and-options)
    "Define new structure."
    (multiple-value-bind (flds opts) (%struct-sort-fields fields-and-options)
      (%struct-add-def name flds)
  