anchor.diff:    (if (null required)
         (process-optionals parsed-lambda-list dspecs forms env)
         (let* ((var (first required))
  -	     (lexical-ast (cleavir-ast:make-lexical-ast var))
  +	     (name (make-symbol (string-downcase var)))
  +	     (lexical-ast (cleavir-ast:make-lexical-ast name))
   	     (new-env (augment-environment-with-variable
   		       var dspecs env env)))
   	(multiple-value-bind (next-ast next-lexical-parameters)
  
positive.code: 	     ((eq (car rest) '&optional) (pop rest) (go optional))
  	     ((eq (car rest) '&key) (pop rest) (go key))
  	     (t (let* ((var (pop rest))
  		       (var-ast (cleavir-ast:make-lexical-ast var)))
  		  (setq new-env
  			(cleavir-env:add-lexical-variable
  			 new-env var var-ast)))
  
negative.code: ;;; responsible for assigning to those LEXICAL-ASTs according to what
  ;;; arguments were given to the function.
  (defun process-init-parameter (var supplied-p init-form dspecs env next-ast)
    (let* ((new-env (augment-environment-with-variable var dspecs env env))
  	 (name1 (make-symbol (string-downcase var)))
  	 (lexical-var-ast (cleavir-ast:make-lexical-ast name1))
  	 (name2 (make-symbol (string-downcase supplied-p)))
  	 (lexical-supplied-p-ast (cleavir-ast:make-lexical-ast name2)))
      (unless (null supplied-p)
        (setf new-env
  	    (augment-environment-with-variable
  