anchor.diff:  (defgeneric test-setup-function (test)
     ;; trivial test setup protocol
     ;;
  -  ;; (values (or null function))
  +  ;; (values (or null function) boolean)
     ;;
     ;; if a function, must accept two arguments:
     ;;  1) list of parameters provided to the test
  
positive.code:     ;; only when test has a SETUP-FUNCTION
  
      ;; FIXME: Alternately, ensure that DEFTEST
  
      ;; defines a primary method onto DO-TEST-SETUP
      ;; when a :SETUP form is provided
      (let ((fn (test-setup-function test)))
        (when fn
          (funcall fn params test)))))
  
  (defgeneric do-test-cleanup (params test)
  
negative.code:   ;; function would be called before the test's primary method is
    ;; evaluated within DO-TEST
    (:method ((test test))
      (cond
        ((slot-boundp test 'setup-function)
         (values (test-setup-function test) t))
        (values nil nil))))
  
  (defgeneric test-cleanup-function (test)
    ;; trivial test cleanup protocol
    ;;
    ;; (values (or null function) boolean)
    ;;
    ;; if a function, must accept two arguments:
    ;;  1) list of parameters provided to the test
  