   (let [[key-fn value-fn] (parse-options options)]
     (binding [*key-fn* key-fn
               *value-fn* value-fn]
-      (-write-str x :div))))
+      (-write-str x :div.shon.root))))
 
 (defn pprint
   "Pretty prints an object as a SHON string. Options are the same as in


(defn- write-ol [coll el]
  (html [el
         [:ol.SHON
         (map #(-write-str (*value-fn* nil %) :li) coll)]]))

(defn- write-ul [coll el]
  (html [el
         [:ul.SHON
         (map #(-write-str (*value-fn* nil %) :li) coll)]]))

(defn- write-dl [m el]
  (html [el
         [:dl.SHON
         (map #(let [[k v] %
                     out-key (*key-fn* k)
                     out-value (*value-fn* k v)]

        {:-write-str write-escaped-string :-get-class-attribute (constantly nil)})

(extend java.util.Map SHONWriter
        {:-write-str write-dl :-get-class-attribute shon-collection})
(extend java.util.List         SHONWriter
        {:-write-str write-ol
         :-get-class-attribute shon-collection})
(extend java.util.Collection   SHONWriter
        {:-write-str write-ul
         :-get-class-attribute shon-collection})

;; html things
(extend java.net.URL           SHONWriter
