anchor.diff:    (let ((list (compute-sheep-hierarchy-list sheep)))
       (setf (sheep-hierarchy-list sheep)
   	  list)
  -    (mapc (lambda (descendant) 
  -	    (memoize-sheep-hierarchy-list (weak-pointer-value descendant)))
  -	  (sheep-direct-children sheep))))
  -
  +    (maphash (lambda (descendant iggy) 
  +               (declare (ignore iggy))
  +               (memoize-sheep-hierarchy-list descendant))
  +             (sheep-direct-children sheep))))
  +
  
positive.code:   (nickname nil)
    (documentation "")
    (direct-parents nil)
    (direct-children nil)
    (direct-properties (make-hash-table :test #'eq))
  ;;  (property-owners (make-weak-hash-table :weakness :value :test #'eq))
    (direct-roles nil)
  
negative.code: 			  (list =dolly=))))
      (setf (sheep-direct-parents sheep) real-parents)
      (loop for parent in parents
           for pointer = (make-weak-pointer sheep)
         do (setf (gethash sheep (sheep-direct-children parent)) t))
      (memoize-sheep-hierarchy-list sheep)
      sheep))
  
  