anchor.diff:           (handler-bind ,binds
              (:retry))))))
   
  +(eval-when (:compile-toplevel :load-toplevel :evaluate)
   (defmacro with-gensyms (syms &body body)
     `(let ,(mapcar #'(lambda (s)
                        `(,s (gensym)))
                    syms)
  -     ,@body))
  +     ,@body)))
   
   
   (defvar *file-if-exists* :supersede
  
positive.code: 	 (if (null ,bind-vars)
  	     result
  	     `((lambda
  		,(nreverse ,bind-vars) ,result) . ,(nreverse ,bind-vals)))))))
  
  (defmacro with-variables (symbols &body body)
    "Using gensyms is necessary to prevent variables produced by macro expansions
  
negative.code:          (values form))
         ,@body)))
  
  (eval-when (:compile-toplevel :load-toplevel :evaluate)
  (defmacro once-only (variable-list &body body)
    "Generate code that evaluates certain expressions only once.
  This is used in macros, for computing expansions.
  