We are happy users of kotlinx.html, it does have an impact on our compile times, but the added type safety and debugability makes up for it. The only otehr contender we found that was acceptable to us was KTE (=JTE for Kotlin). Since we use Elm for browser apps (and in Elm you write HTML-in-Elm using the eDSL for it), kotlinx.html's approach (writing HTML-in-Kotlin, also an eDSL) serves us really well. Also we use jOOQ, another eDSL, so to our team it feels quite natural to use "thin abstractions" (eDSLs) over other languages.