 (defn map->js
   "Converts a map-like value into a JS Object."
   ([obj flat visited]
-   (if-let [was-visited (visited? visited obj)]
+   (if-let [was-visited (@visited obj)]
      (if flat
        "Circular Map"
        was-visited)

    (.push arr v))
  arr)

(defn visited? [visited obj]
  "Check if a collection has been visited. If so, return its JS equivalent."
  (if (contains? @visited obj)
    (get @visited obj)))

(defn visit!
  "Marks potentially linked objects as visited to handle circular refs."
  ([visited obj out]

(defn seq->js
  "Converts a seq-like value into a JS Array."
  ([obj flat visited]
   (if-let [was-visited (@visited obj)]
     (if flat
       "Circular Seq"
       was-visited)
