anchor.diff:          (:title ,title)
           (:meta :http-equiv "Content-Type" :content "text/html; charset=UTF-8")
           ,@(if stylesheet `((:link :rel "stylesheet" :href ,stylesheet :type "text/css")))
  -        ,(fix-notes (rewrite-links (remap-tags (add-amazon-image-bugs sexps)) links))))))
  +        ,(fix-comments (fix-notes (rewrite-links (remap-tags (add-amazon-image-bugs sexps)) links)))))))
   
   (defun remap-tags (sexp)
     (labels ((walker (x)
  
positive.code:                        ,@prest)
                        ,@nrest)))))))))
  
  (defun add-amazon-image-bugs (sexp)
    (let ((books ()))
      (labels ((walker (x)
  
negative.code:           (emit-xhtml
             (rewrite-sexps sexps (or title (guess-title sexps)) stylesheet))))))
  
  (defun render-to-stream (file out &key title stylesheet)
    (let ((sexps (parse-file file :parse-links-p t)))
      (with-foo-output (out)
        (emit-xhtml
         (rewrite-sexps sexps (or title (guess-title sexps)) stylesheet)))))
  
  (defun render-foo (file &key (parse-links-p t) (subdocument-tags '(:note :comment)))
    (multiple-value-bind (sexps links) (extract-link-defs (parse-file file
                                                                      :parse-links-p parse-links-p
                                                                      :subdocument-tags subdocument-tags))
      (loop for x in (rest
                      (fix-comments (fix-notes (rewrite-links (remap-tags (add-amazon-image-bugs sexps)) links))))
         do (emit-xhtml x))))
  
  (defun guess-title (sexps)
    (let ((possible-h1 (second sexps)))
      (cond
  