 
   IVirtualDOM
   (-vdom-node [this])
-  (-vdom-element [this])
+  (-vdom-simple-element [this])
   (-vdom-head [this]
     (when (> (.-length elements) 0)
       (vdom-head (aget elements 0))))

          new-vdom))
      (dom-remove-replace node new-vdom))))

(deftype ReactiveElement [id ^:mutable parent the-ref binding-info ^:mutable cur-vdom ^:mutable dirty
                          ^:mutable updating ^:mutable disposed]
  Object
  (dispose [this]

  (-vdom-head [this] (vdom-head cur-elem))
  (-vdom-tail [this] (vdom-tail cur-elem))
  (-vdom-node [this] (vdom-node cur-elem))
  (-vdom-simple-element [this] (vdom-simple-element cur-elem))
  (-vdom-insert [this dom-parent dom-before]
    (set! (.-parent this) dom-parent)
    (.show-new-elem this (.get-new-elem this) dom-before)
