Put anchor before heading text, not around it.

Instead of:

    (h1 (a () ,@body))

do:

    (h1 (a ()) ,@body)

In other words the anchor itself has no body elements.

This seems to be the common practice. Avoids the CSS style for `<a>`
elements being applied to the entire heading element.