anchor.diff:                                with cond-func = (typecase cond
                                                    (function cond)
                                                    (boolean (constantly cond)))
  +                              when (thread-terminated-p mode)
  +                              do (return)
                                 when (funcall cond-func (path-url mode) mode)
                                 do (with-current-buffer (buffer mode)
                                      (funcall (action mode) (path-url mode) mode))))))
  
positive.code: (defmethod destroy ((mode process-mode))
    (and (cleanup mode)
         (funcall (cleanup mode) (path-url mode) mode))
    (bt:destroy-thread (thread mode)))
  
negative.code:            :type (or bt:thread null)
             :export nil
             :documentation "The thread that `action' happen in.")
     (thread-terminated-p nil
                          :documentation "Has the thread been terminated?")
     (constructor #'initialize)
     (destructor #'destroy)))
  
  