anchor.diff:               :report "Leave the existing inherited symbol."
                (return-from import-one-symbol))))))
       (multiple-value-bind (existing-external-symbol external-symbol-presentp)
  -        (gethash (symbol-name symbol) (package-external-symbols package))
  +        (gethash (symbol-name symbol) (package-%external-symbols package))
         (unless (and external-symbol-presentp
                      (eql symbol existing-external-symbol))
           (multiple-value-bind (existing-internal-symbol internal-symbol-presentp)
  -            (gethash (symbol-name symbol) (package-internal-symbols package))
  +            (gethash (symbol-name symbol) (package-%internal-symbols package))
             (unless (and internal-symbol-presentp
                          (eql symbol existing-internal-symbol))
  -            (setf (gethash (symbol-name symbol) (package-internal-symbols package)) symbol)))))
  +            (setf (gethash (symbol-name symbol) (package-%internal-symbols package)) symbol)))))
       (unless (symbol-package symbol)
         (setf (symbol-package symbol) package))))
   
  
positive.code:   "The keyword package.")
  
  (defstruct (package
  	     (:constructor %make-package (name nicknames))
  	     (:predicate packagep))
    name
    nicknames
    use-list
    used-by-list
    internal-symbols
    external-symbols)
  
  (defun list-all-packages ()
    (remove-duplicates (mapcar 'cdr *package-list*)))
  
negative.code:        (maphash (lambda (,name-sym ,var)
                    (declare (ignore ,name-sym))
                    ,@body)
                  (package-%external-symbols (find-package-or-die ,package)))
         ,result-form)))
  
  (defun shadow-one-symbol (symbol-name package)
    (multiple-value-bind (symbol presentp)
        (gethash symbol-name (package-%internal-symbols package))
      (when presentp (return-from shadow-one-symbol)))
    (multiple-value-bind (symbol presentp)
        (gethash symbol-name (package-%external-symbols package))
      (when presentp (return-from shadow-one-symbol)))
    (let ((new-symbol (make-symbol symbol-name)))
      (push new-symbol (package-%shadowing-symbols package))
      (setf (symbol-package new-symbol) package
            (gethash symbol-name (package-%internal-symbols package)) new-symbol)))
  
  (defun shadowing-import (symbols &optional (package *package*))
    (when (not (listp symbols))
      (setf symbols (list symbols)))
    (setf package (find-package-or-die package))
    (dolist (symbol symbols)
      (check-type symbol symbol)
      (pushnew symbol (package-%shadowing-symbols package)))
    (import symbols package))
  
  (defun shadow (symbol-names &optional (package *package*))
  