     node)
   (-velem-simple-element [this] this)
   (-velem-insert [this vparent vnext-sibling]
-    (if-let [diff-head (get-diff-head)]
-      (ui/velem-replace this diff-head)
-      (do
-        (.ensureNode this)
-        (set! parent vparent)
-        (dom-insert parent node vnext-sibling)))
+    (.ensureNode this)
+    (set! parent vparent)
+    (dom-insert parent node vnext-sibling)
     this)
   (-velem-take [this]
     (dom-remove node)) 

    (fn [attr-value]
      (set-attr! element attr-name attr-value))))

;; TODO
;; (defn- bind-lifecycle-callback! [node node-state cb-name cb-value]
;;   (when (identical? cb-name "on-disposed")
;;     (set! (.-disposed-callback node-state) cb-value)
;;     ;; other callbacks automatically included in attr map
;;     )
;;   cb-value)

(defn- get-ns-attr-setter [element attr-ns attr-name]
  (fn [attr-value]
      ;(println "setting attr" element attr-name attr-value)


  Object
  (dispose [this]
    (r/dispose attr-binder)
    (doseq [i (range (.-length children))]
      (r/dispose (aget children i))))
  (ensureNode [this]
    (when-not node
