anchor.diff:    (catch 'run-once
       (bind-run-state ((result-list '()))
         (let ((values (mapcar #'funcall generators)))
  -        (apply body values)
  +        (funcall body values)
           (cond
             ((null result-list)
              (throw 'run-once (list :no-tests)))
  
positive.code: returning true. This second run limit prevents that.")
  
  (defmacro for-all (bindings &body body)
    `(perform-random-testing
      (list ,@(mapcar #'second bindings))
      (lambda ,(mapcar #'first bindings)
        (if (and ,@(delete-if #'null (mapcar #'third bindings)))
            (progn ,@body)
            (throw 'run-once
              (list :guard-conditions-failed))))))
  
  (defun perform-random-testing (generators body)
    (loop
  
negative.code: ;;;; failure we stop running and report what values of the variables
  ;;;; caused the code to fail.
  
  ;;;; The generation of the random data is done using "generator
  ;;;; functions" (see below for details). A generator function is a
  ;;;; function which creates, based on user supplied parameters, a
  ;;;; function which returns random data. In order to facilitate
  ;;;; generating good random data the FOR-ALL macro also supports guard
  ;;;; conditions and creating one random input based on the values of
  ;;;; another (see the FOR-ALL macro for details).
  
  ;;;; *** Public Interface to the Random Tester
  
  (defparameter *num-trials* 100
    "Number of times we attempt to run the body of the FOR-ALL test.")
  
  