anchor.diff:  		 ((traverse (instruction)
   		    (unless (gethash instruction visited)
   		      (setf (gethash instruction visited) t)
  -		      (when (typep instruction 'cleavir-mir:enclose-instruction)
  -			(let ((code (cleavir-mir:code instruction)))
  +		      (when (typep instruction 'cleavir-ir:enclose-instruction)
  +			(let ((code (cleavir-ir:code instruction)))
   			  (setf worklist (append worklist (list code)))))
   		      (loop with i-owner = (owner instruction)
   			    for datum in (data instruction)
  
positive.code: ;;;      maximum depth of any of its lexical parents. 
  
  (defun data (instruction)
    (append (cleavir-mir:inputs instruction)
  	  (cleavir-mir:outputs instruction)))
  
  (defvar *ownerships*)
  
  
negative.code: 		    (loop for datum in (data instruction)
  			  do (when (null (owner datum))
  			       (setf (owner datum) enter-instruction)))
  		    (when (typep instruction 'cleavir-ir:enclose-instruction)
  		      (let ((code (cleavir-ir:code instruction)))
  			(setf worklist (append worklist (list code)))))
  		    (mapc #'traverse (cleavir-ir:successors instruction)))))
  	     (traverse enter-instruction))))
        (loop until (null worklist)
  	    do (process-function (pop worklist))))
  