     #(first %)))
 
 (defn batch
-  "Returns an async value that is realized with the given collection
+  "Alpha - subject to change
+
+  Returns an async value that is realized with the given collection
   when all (or n if supplied) elements of the collection have been
   realized."
   ([coll] (batch Integer/MAX_VALUE coll))

             coll))))))

(defn map*
  [f coll]
  (async-seq
    (doasync coll
      (fn [[v & more]]
        (cons v (map* f more))))))

(defmacro doseq*
  [seq-exprs & body]
  (assert (vector? seq-exprs) "a vector for its binding")
  (assert (even? (count seq-exprs)) "an even number of forms in binding vector")

          (splice (dissoc map k)))))))

(defmacro future*
  "Takes a body of expressions and invoke it in another
  thread. Returns an asynchronous value that will be realized with the
  result once the computation completes."
  [& body]
  `(let [val# (async-val)]
     (future
