anchor.diff:  ;;;; Test
   
   (defclass test (associative-object pretty-printable-object)
  +  ;; FIXME: add slot SUITE (?)
     ((object
       :initarg :object
       :accessor test-object)
  +   (summary
  +    :initarg :summary
  +    :initform nil
  +    :accessor test-summary
  +    :type (or string null))
      ;; NOTE: The following slots are defined with non-conventional
      ;; accessors, below.
      (setup-function
  
positive.code:   ;;
    ;; function would be called within the cleanup forms of an
    ;; unwind-protect form within DO-TEST
    (:method ((test test))
      (cond
        ((slot-boundp test 'cleanup-function)
         (values (%test-cleanup-function test) t))
        (t (values nil nil)))))
  
  (defgeneric (setf test-setup-function) (new-value test)
    (:method ((new-value function) (test test))
      (setf (%test-cleanup-function test) new-value))
    (:method ((new-value list) (test test))
      (let ((fn (compile* new-value)))
        (setf (test-setup-function test) fn))))
  
negative.code:     :accessor %test-cleanup-function)
     ))
  
  (defmethod test-setup-function ((test test))
    ;;
    ;; (values (or null function) boolean)
    ;;
  