anchor.diff:            ;;(format t "Bailing out with ~S~%" symbol) ; TODO debug code
             (return-from xml-reader-open symbol)))
       ;;(format t "We've got a hit, simple-version? ~S~%" simple-version) ; TODO debug code
  -    (flet ((writer (form)
  -             (if (stringp form)
  -                 `(write-string ,form *yaclml-stream*)
  -                 form)))
  -      (let ((*readtable* (copy-readtable)))
  -        (set-syntax-from-char *xml-reader-close-char* #\) *readtable*)
  +    (let ((*readtable* (copy-readtable)))
  +      (set-syntax-from-char *xml-reader-close-char* #\) *readtable*)
  +      (labels ((writer (form)
  +                 (if (stringp form)
  +                     `(write-string ,form *yaclml-stream*)
  +                     form))
  +               (emitter (form)
  +                 (mapcar #'writer (fold-strings (nreverse form)))))
           (let* ((list (let ((result (read-delimited-list #\> s t)))
                          ;;(format t "The delimited list is ~S~%" result) ; TODO debug code
                          result))
                  (head (if simple-version
  -                         (subseq symbol-name 1)
  -                         (if (consp (car list))
  -                             (eval (car list))
  -                             (car list))))
  -               (tag-name (if (stringp head)
  +                         (subseq symbol-name 1) ; drop the "<" from the symbol-name
  +                         (car list)))
  +               (tag-name (if (or (stringp head) (consp head))
                                head
                                (string-downcase (princ-to-string head))))
                  (%yaclml-code% nil)
  
positive.code:         (symbol nil)
          (symbol-name nil)
          (next-char nil)
          ;; simple-version means that the symbol is the xml tag name, e.g. <foo
          ;; otherwise it's a <"foo" or a <(foo), the latter is evaluated and
          ;; the result is used as the tag name.
          (simple-version t))
      (unwind-protect
           (unread-char char s)                    ; read the entire token
  
negative.code:    be done at compile time."
    (dolist (item items %yaclml-code%)
      (push (cond
              ((stringp item)
               item)
              ((keywordp item)
               (string-downcase (princ-to-string item)))
  