       [:span "{"]
       (if expanded?
         (map-indexed (fn [i x] ^{:key i} [KeyValNode (assoc all :data x)]) data)
-        [:span {:style (:keywords styles)} (clojure.string/join " " (->> (keys data) (map pr-str)))])
+        [KeySet (keys data)])
       [:span "}"]]]))
 
 (defn DataFrisk [{:keys [data] :as all}]

                    :backgroundColor "lightgray"}}
   "Collapse all"])

(defn Node [{:keys [data path emit-fn swappable]}]
  [:div (cond
          (nil? data)
          [:span {:style (:nil styles)} (pr-str data)]

          (string? data)
          (if swappable

        (str (count data) " items"))
      [:span "}"]]]))

(defn KeySet [keyset]
  [:span
   (->> (map-indexed
          (fn [i data] ^{:key i} [:span
                                  (cond (nil? data) [NilText]
                                        (string? data) [StringText data]
                                        (keyword? data) [KeywordText data]
                                        (number? data) [NumberText data]
                                        :else (str data))]) keyset)
        (interpose " "))])

(defn MapNode [{:keys [data path expanded-paths emit-fn] :as all}]
  (let [expanded? (get expanded-paths path)]
    [:div {:style {:display "flex"}}
