anchor.diff:      ;; 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
  +    (multiple-value-bind (fn setup-p)
  +        (test-setup-function test)
  +      (when setup-p
           (funcall fn params test)))))
   
   (defgeneric do-test-cleanup (params test)
  
positive.code:                      :results results)))
  
    (:method ((params list) (expect list)
              (test diadic-parameters-test))
      (declare (ignore expect))
      (destructuring-bind (a b) params
        (funcall (test-main-function test)
                 a b)))
  
    (:method ((params list) (expect list)
              (test monadic-parameters-test))
      (declare (ignore expect))
      (destructuring-bind (a) params
        (funcall (test-main-function test)
                 a)))
  
    (:method ((params list) (expect list)
              (test variadic-parameters-test))
      (declare (ignore expect))
      (apply (test-main-function test) params)))
  
  
  ;; prototype for test eval:
  
negative.code: (defgeneric test-setup-function (test)
    ;; trivial test setup protocol
    ;;
    ;; (values (or null function) boolean)
    ;;
    ;; if a function, must accept two arguments:
    ;;  1) list of parameters provided to the test
  