   (doseq [node dom-nodes]
     (stream node strategy out)))
 
-(defrecord ElementNode [name attributes content]
+(defrecord Element [name attributes content]
 
   NodeStreaming
   (stream [node strategy out]

          (stream-nodes content strategy out)
          (write out "</" element-name ">"))))))

; TODO: possibly don't need RawNode, instead extend NodeStreaming to String

(defrecord RawNode [text]

  NodeStreaming
  (stream [node strategy out]

  (stream-nodes dom-nodes html-strategy out))

(defn element?
  "Is the node a DOM Element?"
  [node]
  (instance? Element node))

(defn dom-node?
  "Is the object some kind of DOM node?"
  [node]
  (or (element? node)
    (instance? Text node)
    (instance? Comment node)))

(defn dom-zipper
