                   new-closers))))))
 
 (defn- id->fbref [id]
-  (walk-root root [:item (str id)]))
+  (walk-root root :item (str id)))
 
 (defn- fb->chan
   ([fbref]

(defn r-item-binder [f]
  (fn [data path msg]
    (let [[event key val] msg
          child-path (conj path key)]
      (case event
        :child_added (do
                       (swap! data assoc-in child-path val)
                       (when (= key :kids)
                         (doseq [id val]
                           (f id))))
        :child_changed (do
                         (swap! data assoc-in child-path val)
                         (when (= key :kids)
                           (doseq [id val]
                             (f id))))
        :child_removed (swap! data update-in path dissoc key)
        (.log js/console (clj->js [event key val]))))))



(defonce root (js/Firebase. url))

(defn- walk-root [r & keys]
  (let [[k & ks] keys]
    (if ks
      (recur (.child r (clojure.core/name k)) ks)
      (.child r (clojure.core/name k)))))

(def top-stories (walk-root root :topstories))

(def ^:dynamic closer-root nil)

