     (fn render[frame-ms]
       (reset! frame-time frame-ms)
       (when enable-fps-instrumentation
-        (if (= instrumentation-i 4)
+        (if (identical? instrumentation-i 4)
           (do
             (reset! fps (* 1000 (/ 5 (- frame-ms last-instrumentation-time))))
             (set! instrumentation-i 0))
           (set! instrumentation-i (inc instrumentation-i)))
-        (when (= 0 instrumentation-i)
+        (when (identical? 0 instrumentation-i)
           (set! last-instrumentation-time frame-ms)) )
       (let [queue render-queue
             n (alength queue)]

  ([element state]
    (let [cur-state (get-data-state element)
          state (name state)]
      (when-not (= cur-state state)
        (do-set-data-state! element state)
        (let [leave-transition (get-transition element (keyword (str "after-" cur-state)))]
          (if leave-transition

(declare build-element)

(defn- text-node? [dom-node]
  (identical? (.-nodeType dom-node) 3))

(defn- replace-child [parent new-elem-spec cur-elem]
  (let [cur-dom-node cur-elem                                       ;;
