Never played around with Lisp, so excuse the ignorance. Is this typical to construct HTML in Lisp? This feels incredibly verbose and error prone, not to mention confusing and hard to grok. Good luck having a designer mockup/write HTML.

    (defun login-panel ()
       (pbox "login/register"
         (:form :id "logform" :class "nomargin"
           (:table :style "border-collapse: collapse"
                   (:tr (:td :colspan "2"  "username:"))
                   (:tr (:td :colspan "2" (:input :id "loguser" :class "txt" :name "user" :type "text" :size 15)))
                   (:tr (:td :colspan "2" "password:"))
                   (:tr (:td :colspan "2" (:input :id "logpass" :class "txt" :name "pass" :type "password" :size 15)))
                   (:tr (:td :colspan "2" (:input :id "logmem" :type "checkbox" :name "mem" "remember me")))
                   (:tr (:td :colspan "2" (:span :id "logerror" :class "error" "")))
                   (:tr (:td (:input :id "logbtn" :class "btn" :type "submit" :value "Login" :onclick "login(); return false"))
                        (:td (:input :class "btn" :type "submit" :value "Register" :onclick "register(); return false")))
                   (:tr (:td :nowrap t :colspan "2" :align "center" :class "little" (:a :href "/password" "what's my password?")))))))
How is it verbose? It has much LESS noise than HTML. IMHO, Lisp is the simplest and smallest readable representation of data structure. I will trade JSON for edn [1] any days of the week

[1] https://github.com/edn-format/edn