     (assert (= *ns* (:ns m)))
     (assert (string? (:file m)))
     (assert (integer? (:line m)))
-    (assert (nil? (:name m)))))+    (assert (nil? (:name m)))
+    (assert (= '[x] (:locals m)))))

  (vec (filter #(::local (meta %)) (keys env))))

(defmacro example
  ([expr] `(example nil ~expr))
  ([docstring expr]
     `(vary-meta (fn ~(find-locals &env) ~expr)
                 merge ~(standard-metadata &form docstring))))

(defmacro group-examples [& examples]
  (loop [result [], exs examples]
    (if (seq exs)
      (if (string? (first exs))
        (recur (conj result `(example ~(first exs) ~(second exs)))
               (nnext exs))
        (recur (conj result `(example ~(first exs)))
               (next exs)))
      result)))

(defmacro group [bindings examples subgroups]
  {:pre [(or-nil vector? bindings)
         (even? (count bindings))]}
  (if (seq bindings)

    (assert (= *ns* (:ns m)))
    (assert (string? (:file m)))
    (assert (integer? (:line m)))
    (assert (nil? (:name m)))
    (assert (= [] (:locals m)))))

(let [c1 (com.stuartsierra.lazytest.contexts/context [] 1)
      e (with-context x c1
