anchor.diff:          name)))
   
   (defun make-bitfield-accessor (field accessor ref)
  -  (push `(defun ,accessor (,@(accessor-params)) ,(make-bitfield-deref field ref))
  +  (push `(defun ,accessor (,@(accessor-params))
  +           ,*accessor-declare* ,(make-bitfield-deref field ref))
           *accessor-forms*)
     (push `(defun (setf ,accessor) (,(intern "V") ,@(accessor-params))
  +           ,*accessor-declare*
              (cffi-sys:%mem-set ,(make-bitfield-merge field ref (intern "V")) ,ref
                                 ,(basic-foreign-type (foreign-type field))))
           *accessor-forms*)
  
positive.code: (defun make-normal-accessor (field accessor ref)
    (let ((accessor-ptr (symbolicate accessor "&")))
      (make-normal-type-accessor field (foreign-type field) accessor ref)
      (push `(defun ,accessor-ptr (,@(accessor-params)) ,ref)
            *accessor-forms*)
      (push `(export ',accessor-ptr ,*package*) *accessor-forms*)))
  
  
negative.code:     (let* ((*accessor-seen-types* (list* (foreign-type-name foreign-record)
                                           *accessor-seen-types*))
             (*accessor-recursive-max-depth* (1- *accessor-recursive-max-depth*))
             (*accessor-declare* `(declare (type ,*accessor-record-name*
                                                 ,*accessor-record-name*)))
             (ref (or ref `(ptr ,*accessor-record-name*))))
        (loop for field in (foreign-record-fields foreign-record)
              as accessor = (make-accessor-name field prefix)
  