anchor.diff:                              (thread-unsleep-helper thread)
                               (thread-unsleep-helper-argument thread)))))
   
  -(defun establish-thread-foothold (thread function)
  +(defun establish-thread-foothold (thread function &optional force)
     (check-type thread thread)
     (check-type function function)
     (assert (not (member (thread-priority thread) '(:idle :supervisor))))
  
positive.code:                  (setf (cdr push-cons) (thread-pending-footholds thread)
                         (thread-pending-footholds thread) push-cons)))))
        (cond ((eql thread (current-thread))
               (cond ((eql (thread-inhibit-footholds thread) 0)
                      (funcall function))
                     (t
                      (push-foothold))))
  
negative.code:                (cond ((eql (thread-state thread) :dead)
                        ;; Thread is dead, do nothing.
                        nil)
                       ((or force
                            (eql (thread-inhibit-footholds thread) 0))
                        (unsleep-thread thread)
                        (force-call-on-thread thread function))
                       (t
  