 (def t7 (TestCase [c6] [a3 a4]))
 
 (with-log
-  (let [results (run-test-case t7 {} lazy-strategy)]
+  (let [results (run-test-case t7 lazy-strategy)]
     (assert (= @*log* [:c6-open]))
     (dorun (result-seq results))
     (assert (= @*log* [:c6-open :a3 :a4]))))

  "Executes a test case in context.  active is the map of currently
  active Contexts.  strategy is a function that determines how tests
  are executed."
  ([t] (run-test-case t {}))
  ([t active] (run-test-case t {} default-strategy))
  ([t active strategy]
     {:pre [(= ::TestCase (type t))
            (every? #(= ::Context (type %)) (:contexts t))]}
     (try

(deftype TestCase [contexts children] :as this
  clojure.lang.IFn
  (invoke [] (run-test-case this))
  (invoke [strategy] (run-test-case this strategy))
  (invoke [strategy active] (run-test-case this strategy active))
  TestInvokable (invoke-test [states strategy active]
                             (run-test-case this strategy active)))

(deftype Assertion [locals form])

