         (-as-transient (.-EMPTY PersistentVector))
         coll))))
 
-(defn vector [& args]
+(defn vector
+  "Creates a new vector containing the args."
+  [& args]
   (if (and (instance? IndexedSeq args) (zero? (.-i args)))
     (.fromArray PersistentVector (.-arr args) true)
     (vec args)))

        #js {:value x :done false})
      #js {:value nil :done true})))

(defn es6-iterator [coll]
  (ES6Iterator. (seq coll)))

(declare es6-iterator-seq)

;; generic to all refs
;; (but currently hard-coded to atom!)
(defn deref
  "Also reader macro: @var/@atom/@delay. Returns the
   most-recently-committed value of ref. When applied to a var
   or atom, returns its current state. When applied to a delay, forces
   it if not already forced. See also - realized?."
  [o]
  (-deref o))

