(defn render-class! [sb first? class]
(cond
(nil? class)
first?
(string? class)
(do
(when-not first?
(append! sb " "))
(append! sb class)
false)
(or (sequential? class)
(set? class))
(reduce #(render-class! sb %1 %2) first? class)
:else
(render-class! sb first? (to-str class))))