anchor.diff:           (stock-index (state-stock-index state))
            (cycle (state-cycle state))
            (waste-index (state-waste-index deck-flags stock-index))
  -         (successor-masks (the successor-masks (svref state-cache 0)))
  +         (successor-masks (the successor-masks
  +                               (state-cache-successor-masks state-cache)))
            (successors ()))
       (if (stock-empty-p stock-index)
           (when (/= cycle 3)
  
positive.code:   "Return an estimate of how many steps to clear all 28 pyramid cards."
    (declare (optimize speed (safety 0))
             (type state-cache state-cache))
    (svref state-cache 1))
  
  (declaim (inline state-unwinnable-p))
  (defun state-unwinnable-p (state state-cache)
  
negative.code:         for uncovered-indexes in *all-uncovered-indexes*
          for all-indexes in *all-pyramid-indexes*
          do (setf (gethash pyramid-flags state-caches)
                   (make-state-cache
                    :successor-masks
                    (successor-masks uncovered-indexes king-masks card-masks)
                    :h-cost
                    (h-cost all-indexes card-values)
                    :unwinnable-masks
                    (unwinnable-masks all-indexes card-values card-bucket-masks)))
          finally (return state-caches)))
  
  