anchor.diff:        context
       (let ((location (find-or-create-location ast)))
         (ecase (length successors)
  -	(0 (sicl-mir:make-return-instruction
  +	(0 (cleavir-mir:make-return-instruction
   	    (list location)))
   	(1 (if (null results)
   	       (progn 
   		 (warn "variable compiled in a context with no values")
   		 (car successors))
  -	       (sicl-mir:make-assignment-instruction
  +	       (cleavir-mir:make-assignment-instruction
   		location
   		(car results) 
   		(nil-fill (cdr results) (car successors)))))
   	(2 (if (null results)
  -	       (sicl-mir:make-==-instruction
  -		(list location (sicl-mir:make-constant-input nil))
  +	       (cleavir-mir:make-==-instruction
  +		(list location (cleavir-mir:make-constant-input nil))
   		successors)
  -	       (sicl-mir:make-assignment-instruction
  +	       (cleavir-mir:make-assignment-instruction
   		location
   		(car results)
   		(nil-fill
   		 (cdr results)
  -		 (sicl-mir:make-==-instruction
  -		  (list location (sicl-mir:make-constant-input nil))
  +		 (cleavir-mir:make-==-instruction
  +		  (list location (cleavir-mir:make-constant-input nil))
   		  successors)))))))))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code:   (loop with succ = successor
  	for arg in (reverse arguments)
  	for temp in (reverse temps)
  	do (unless (or (typep temp 'sicl-mir:immediate-input)
  		       (typep temp 'sicl-mir:external-input))
  	     (setf succ (compile-ast arg (context `(,temp) `(,succ)))))
  	finally (return succ)))
  
  
negative.code: ;;; Compile a function.
  
  (defun compile-function (body-ast)
    (cleavir-mir:make-enter-instruction 
     (compile-ast body-ast (context '() '()))))
    
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  