anchor.diff:  
   (defmethod translate-template ((backend (eql :common-lisp-backend)) template)
     (translate-template (make-instance 'common-lisp-backend)
  -                    template))
  +                      template))
   
   (defmethod compile-template ((backend (eql :common-lisp-backend)) template)
     (compile-template (make-instance 'common-lisp-backend)
                       template))
   
   (defmethod compile-template ((backend common-lisp-backend) template)
  -  (eval (translate-template backend template)))
  +  (let ((expr (parse-template template)))
  +    (proclaim-template-functions expr)
  +    (eval (translate-item backend expr))))
   
   (defmethod compile-template ((backend common-lisp-backend) (templates list))
  -  (iter (for template in templates)
  -        (compile-template backend template)))
  +  (let ((parsed-templates (mapcar 'parse-template templates)))
  +    (map nil 'proclaim-template-functions parsed-templates)
  +    (iter (for template in parsed-templates)
  +          (eval (translate-item backend template)))))
  
positive.code:        (let ((*autoescape* nil))
           (funcall ,fun-name data)))))
  
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; translate and compile template methods
  
negative.code:   (let ((*package* (if (car args)
                         (make-template-package (car args))
                         *default-translate-package*)))
      (translate-item backend
                    (cdr args))))
  
  