 
 (deftype Context [before after])
 
-(deftype Suite [contexts tests])
+(deftype Suite [contexts children])
 
 (deftype AssertionSuccess [assertion]
   Successful (success? [] true))


(def *active-contexts* {})

(defprotocol Successful
  (success? [r] "Returns true if the result r was 100% successful."))


        (catch Throwable t#
          (AssertionThrown (quote ~expr) t#))))

;; TODO: Lazy evaluation
(defn- format-test [t]
  {:pre [(test? t)
         (vector? (:locals t))
