(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))))))Source Context