anchor.diff:      (string (princ (melt-entities element)))
       (atom   (princ element))
       (otherwise
  -     (let ((entry (gethash (html-tag element) *nl*)))
  -       (if entry
  -           (funcall (second entry) element)
  -           (princ element))))))
  +     (flet ((write-it ()
  +              (let ((entry (gethash (html-tag element) *nl*)))
  +                (if (second entry)
  +                    (funcall (second entry) element)
  +                    (progn
  +                      (when (intersection '(:bo :ao) (first entry))
  +                        (terpri))
  +                      (print element *trace-output*)
  +                      (princ element)
  +                      (when (intersection '(:bc :ac) (first entry))
  +                        (terpri)))))))
  +       (cond ((member (html-tag element) '(:foreign :definition :comment)
  +                      :test (function string-equal))
  +              #|ignore|#)
  +             ((member (html-tag element) '(:pre :quote :address)
  +                      :test (function string-equal))
  +              (let ((*pre* t))
  +                (write-it)))
  +             (t
  +              (write-it)))))))
   
   (defun write-children-text (self)
     (dolist (child (html-contents self))
  
positive.code:           (make-definition :name ident :attributes attributes)))))
  
  
  (defun parse-aivs (parser)
    ;; aivs -->   aiv      { html-seq: [(first aiv) (rest nil) ] }
    ;;          | aiv aivs { html-seq: [(first aiv) (rest aivs)] } ;
  
negative.code: 
  (defmacro define-element-writer (tag nls &body body)
    `(progn
       (setf (gethash (intern (string-upcase ,(symbol-name tag)) *tag-package*) *nl*)
             (list ',nls
                   ,(case (first body)
                      ((:children) `(function write-children-text))
  