anchor.diff:  
   ; template paths
   
  -(defun .template-path (path)
  -  (let ((string (namestring path)))
  -    (ecase (mismatch "/" string :test 'string=)
  -      ((nil) *current-template-root-folder*)
  -      ((0) (merge-pathnames string (directory-namestring *current-template-path*)))
  -      ((1) (merge-pathnames (subseq string 1) *current-template-root-folder*)))))
  -
  -(defun template-path (path &key dont-check)
  -  (if dont-check
  -      #1=(.template-path path)
  -      (cl-fad:file-exists-p #1#)))
  +(defun template-path (path)
  +  (if (char= (char path 0) #\/)
  +      (fad:file-exists-p path)
  +      (dolist (dir
  +                (if *current-template-path*
  +                    (cons (directory-namestring *current-template-path*) *template-search-path*)
  +                    *template-search-path*))
  +        (aif (fad:file-exists-p (merge-pathnames path dir))
  +             (return it)))))
   
   ; error
   
  
positive.code: 				      (first _)
  				      _))
  			      template-kwd-args)
  		      (list nil)))))))
negative.code: 
  ; API
  
  (defun compile-template (path
  			 &key (return-format :string) ;or :OCTETS
  			      ffc)
    (let ((*current-template-path* (template-path path)))
      (compile-template-string (cl-ffc:slurp-utf-8-file *current-template-path*)
            :return-format return-format
            :ffc ffc)))
  
  (defun .compile-template-string (string &key return-bytes)
    (if return-bytes
  