anchor.diff:  (defparameter *environment* '()
     "list of assoc lists representing the current lexical environment")
   
  -(defun add-environment ()
  -  "Adds a new environment to the environment stack, makes it the current environment"
  -  (cons '() *environment*))
  +(defmacro with-added-environment (&body body)
  +  "Executes BODY with a new environment added to the environment stack"
  +  `(let ((*environment* (cons '() *environment*)))
  +    ,@body))
   
   (defun find-binding (var-name)
     "Looks through the set of environments and finds the most recently bound variable, returns its bound value"
  
positive.code: 
  (defun add-binding (var-name var-newname)
    "Add a binding to the environment. In our case, name and new name"
    (setf (car *environment*) (cons (cons var-name var-newname) (car *environment*))))
  
  (defun add-ugly-binding (var-name)
    "Takes a variable name and creates a new ugly name and adds that to the environment. Returns the ugly name"
  
negative.code: (defun uglify-vars (program)
    "Entry point for our source transformation. Turn all var and function declarations and their related 
     references s into ugly ones"
    (with-added-environment
      (transform-in-scope program)))
  
  (defun transform-in-scope (elm)
  