anchor.diff:             (mapcar (lambda (s)
                        (incf n)
                        `(progn
  -                        (defun ,(second s) (object)
  +                        (defun ,(structure-slot-accessor s) (object)
                             ,@(when (and named predicate)
                                 (list `(check-type object (satisfies ,predicate))))
                             (nth ,n object))
  -                        ,@(unless (fifth s)
  -                            (list `(defun (setf ,(second s)) (new-value object)
  +                        ,@(unless (structure-slot-read-only s)
  +                            (list `(defun (setf ,(structure-slot-accessor s)) (new-value object)
                                        ,@(when (and named predicate)
                                            (list `(check-type object (satisfies ,predicate))))
  -                                     (setf (nth ,n object) (the ,(fourth s) new-value)))))))
  +                                     (setf (nth ,n object) (the ,(structure-slot-type s) new-value)))))))
                      slots))
          ,@(mapcar (lambda (x)
                      (if (symbolp x)
  
positive.code: 				   (mapcar #'cadar keys)
  				   (remove 'nil (mapcar #'third keys))
  				   (mapcar #'first aux)))
  	   (default-slots (set-difference (mapcar #'first slots) assigned-slots)))
        `(defun ,name ,lambda-list
           (list ,@(when leader-name (list `',leader-name))
                 ,@(mapcar (lambda (s)
                             (if (member (first s) default-slots)
                                 (third s)
                                 (first s)))
                           slots))))))
  
  (defun generate-simple-defstruct-vector-constructor (leader-name slots name area)
    `(defun ,name (&key ,@(mapcar (lambda (slot)
                                    (list (first slot) (third slot)))
                                  slots))
       (vector ,@(when leader-name (list `',leader-name))
               ,@(mapcar 'first slots))))
  
  (defun generate-defstruct-vector-constructor (leader-name slots name lambda-list area)
    (multiple-value-bind (required optional rest enable-keys keys allow-other-keys aux)
  
negative.code: 				   (mapcar #'cadar keys)
  				   (remove 'nil (mapcar #'third keys))
  				   (mapcar #'first aux)))
  	   (default-slots (set-difference (mapcar #'structure-slot-name slots) assigned-slots)))
        `(defun ,name ,lambda-list
           (vector ,@(when leader-name (list `',leader-name))
                   ,@(mapcar (lambda (s)
                               (if (member (structure-slot-name s) default-slots)
                                   (structure-slot-initform s)
                                   (structure-slot-name s)))
                             slots))))))
  
  (defun compute-defstruct-slots (conc-name slot-descriptions included-structure included-slot-descriptions)
  