anchor.diff:  
   ;;; children cache
   (defun %child-cache-full-p (sheep)
  +  "A child cache is full if all items in it are weak pointers to other sheep.
  +In reality, we can sort of get away with just checking if it's a pointer, since
  +it's astronomically unlikely anything else will make it in..."
     (when (and (%sheep-children sheep)
  -             (every (lambda (x) x)
  +             (every (lambda (x) (weak-pointer-p x))
                       (%sheep-children sheep)))
       t))
   
   (defun %adjust-child-cache (sheep)
  +  "When the child cache gets full, we have to make it bigger. In general, we assume
  +a 5-slot array will be enough for sheeple that only have a couple of children. Once that
  +threshold is crossed, though, we assume the worst and replace that relatively small vector
  +with a massive 100-slot adjustable array. When -that- is full, we'll resize the vector
  +by 100 each time."
     (cond ((and (= 5 (length (%sheep-children sheep)))
                 (not (adjustable-array-p (%sheep-children sheep))))
            (let ((old-vector (%sheep-children sheep)))
  
positive.code:   sheep)
  
  (defun %remove-child (child sheep)
    (when (find child (%sheep-children sheep) :key #'weak-pointer-value)
      (setf (%sheep-children sheep)
            (delete child (%sheep-children sheep) :key #'weak-pointer-value)))
    sheep)
  
  (defun %map-children (function sheep)
    (when (%sheep-children sheep)
      (map 'vector (lambda (pointer)
                     (when (weak-pointer-p pointer)
  
negative.code:          (adjust-array (%sheep-children sheep)
                         (+ 100 (length (%sheep-children sheep)))
                         :initial-element nil))
          ;; may as well.
          (t (error "Something went wrong with adjusting the array. Weird.")))
    sheep)
  
  (defun %create-child-cache (sheep)
    "This creates only the basic child cache: A simple 5-item vector of NILs.
  It sets the vector as SHEEP's child cache."
    (setf (%sheep-children sheep)
          (make-array 5 :initial-element nil)))
  
  (defun %add-child (child sheep)
    "Registers CHILD as a weak pointer in SHEEP's child cache."
    (unless (%sheep-children sheep)
      (%create-child-cache sheep))
    (when (%child-cache-full-p sheep)
  