anchor.diff:            always res)
       (nreverse result)))
   
  -(defmethod combine-hook-until-success ((hook hook) &rest args)
  +(defmethod combine-hook-until-success ((hook hook) &rest args) ; TODO: Result difference between "no success" and "no handlers"?
     "Return the value of the first non-nil result.
   Handlers after the successful one are not run.
   This is an acceptable `combination' for `hook'."
  
positive.code:           (find-handler (disabled-handlers hook))))
        found-handler)))
  
  ;; TODO: What do we return when hook has no handler?  How do we distinguish
  ;; between a NIL return value and no handler?
  (defmethod run-hook ((hook hook))
    (funcall (combination hook) hook))
  
  
negative.code: (defmethod default-combine-hook ((hook hook) &rest args)
    "Return the list of the results of the HOOK handlers applied from youngest to
  oldest to ARGS.
  Return '() when there is no handler.
  This is an acceptable `combination' for `hook'."
    (mapcar (lambda (handler)
              (with-hook-restart (apply (fn handler) args)))
            (handlers hook)))
  
  (defmethod combine-hook-until-failure ((hook hook) &rest args) ; TODO: Result difference between "all fail" and "no handlers"?
    "Return the list of values until the first nil result.
  Handlers after the successful one are not run.
  This is an acceptable `combination' for `hook'."
  