That people produce HTML with string templates is telling us something
That is why I like Hiccup&#x2F; Clojure so much: <a href="https:&#x2F;&#x2F;github.com&#x2F;weavejester&#x2F;hiccup">https:&#x2F;&#x2F;github.com&#x2F;weavejester&#x2F;hiccup</a> It is very natural to produce something resembling a document in pure Clojure data structures and then just convert it to valid HTML. I think, Reagent has some hiccup extensions that are nice like writing the class or id with a . or # notation right in the keyword describing the tag. So there probably still is some space to improve the ergonomics and probably performance. Concatenating strings still wins performance wise by a lot.