anchor.diff:  (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)
  +    (push `(defun ,accessor-ptr (,@(accessor-params)) ,*accessor-declare* ,ref)
             *accessor-forms*)
       (push `(export ',accessor-ptr ,*package*) *accessor-forms*)))
   
  
positive.code: (defvar *accessor-seen-types* nil)
  (defvar *accessor-recursive-max-depth* 5)
  (defvar *accessor-index* 0)
  
  (defvar *wrapped-type-names* nil)
  
  
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)
  