anchor.diff:             :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)))
   
  
positive.code: (defmethod destroy ((mode process-mode))
    (and (cleanup mode)
         (funcall (cleanup mode) (path-url mode) mode))
    (bt:destroy-thread (thread mode)))
  
negative.code:                               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))))))
  