            true
            (html/has-class? dom-node class)))))
 
+;;; TODO make this a protocol function
 (defn- compile-selector
   "Creates a node matching predicate from a single selector."
   [single-selector]

    (fn type-matcher [node]
      (= (type node) single-selector))))

(defn- compile-selector* [selector]
  (cond
    (vector? selector)

                   predicates+visitors)))
        node)))

;;; TODO make this a protocol function
(defn normalize-visitor [visitor]
  (cond
    (vector? visitor)
