anchor.diff:  (defun %struct-fields (name)
     (with-queue form
       (dolist (i (%struct-def name) (queue-list form))
  -      (enqueue form (car i)))))
  +      (enqueue form i.))))
   
   (defun %defstruct-expander (name &rest fields-and-options)
     "Define new structure."
  
positive.code: (defun %struct-getter-symbol (name field)
    (make-symbol (string-concat (symbol-name name) "-" (symbol-name field))))
  
  (defun %struct-field-name (field)
    (if (consp field)
        (car field)
        field))
  
  (defun %struct-single-get (name field index)
    (with (sym (%struct-getter-symbol name field))
      `(progn
        (defun ,sym (arr)
          (elt arr ,index))
  
negative.code:          user-init (%struct-make-init fields g)
  	     type-init `((setf (elt ,g 0) ',name)))
      `(defun ,sym ,(%struct-make-args fields)
         (let ,g (make-array ,(1+ (length fields)))
           ,@(if user-init
  	           (nconc type-init user-init)
  	           type-init)
  