@cwebber @platypus I have an excellent bad idea to counter this: abandon HTML and retreat to SVG.
I made my Lisp Game Jam submission with Hoot, where I manipulate an SVG image in a mostly static web page. I used (a modified*) sxml->dom from https://spritely.institute/news/building-interactive-web-pages-with-guile-hoot.html which just ingests the sxml i feed it. The lispy balance in the world was preserved, because it was never disturbed in the first place -- except by my hacky code of course.
[>> footnote]