          (even? (count bindings))]}
   (if (seq bindings)
     `(with-context ~(first bindings) ~(second bindings)
-       (group ~(nnext bindings) ~examples ~subgroups))
+       (group ~(vec (nnext bindings)) ~examples ~subgroups))
     `(new-group ~(find-locals &env)
                 (group-examples ~@examples)
                 ~subgroups

  "Returns a vector of locals bound by with-context in the
  environment."
  [env]
  (vec (filter #(::local (meta %)) (keys env))))

(defmacro example
  "Creates an example function, using current context locals for

  ([docstring expr]
     (let [locals (find-locals &env)]
       `(vary-meta (fn ~locals ~expr)
                   merge ~(standard-metadata expr docstring)
                   {:locals '~locals}))))

(defmacro group-examples
