anchor.diff:  ;;;
   ;;; Converting a symbol that has a definition as a lexical variable.
   
  +(defun maybe-wrap-the (type ast)
  +  "Given a non-values TYPE, return the AST wrapped in a THE-AST if that is helpful, or otherwise the AST."
  +  (if (subtypep t type)
  +      ;; The only way T can be a subtype of some other type is if
  +      ;; that other type is also T, so this is our way of testing
  +      ;; whether the type of the variable is equivalent to T.  We
  +      ;; use this information to avoid wrapping a THE-AST around
  +      ;; the variable.
  +      ast
  +      ;; Otherwise, we are not sure whether the type is equivalent
  +      ;; to T, so we wrap it.
  +      (cleavir-ast:make-the-ast ast (list type))))
  +
   (defmethod convert-form
       (form (info cleavir-env:lexical-variable-info) env system)
     (declare (ignore system))
     (when (eq (cleavir-env:ignore info) 'ignore)
       (warn "Reference to a variable declared IGNORE"))
  -  (let ((type (cleavir-env:type info)))
  -    (if (subtypep t type)
  -	;; The only way T can be a subtype of some other type is if
  -	;; that other type is also T, so this is our way of testing
  -	;; whether the type of the variable is equivalent to T.  We
  -	;; use this information to avoid wrapping a THE-AST around the
  -	;; variable.
  -	(cleavir-env:identity info)
  -	;; Otherwise, we are not sure whether the type is equivalent
  -	;; to T, so we wrap it.
  -	(cleavir-ast:make-the-ast (cleavir-env:identity info)
  -				  (list type)))))
  +  (maybe-wrap-the (cleavir-env:type info)
  +		  (cleavir-env:identity info)))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;
  
positive.code: ;;;
  ;;; Converting a compound form that calls a global function.
  ;;; A global function can have  compiler macro associated with it.
  
  (defun inline-lambda-init (env system lambda-list arg-asts)
    "This mess takes an environment and system, and then a lambda list and a list of converted arguments, and returns a list of forms that initialize the lambda variables with the arguments.
  
negative.code: 		     (process-progn
  		      (append
  		       init
  		       (list (maybe-wrap-the
  			      (cleavir-ast:body-ast clone)))))))))
  	  ;; Generate an ordinary call.
  	  (noinline)))))
  
  