anchor.diff:  ;;; Compilation context.
   ;;;
   ;;; Each AST is compiled in a particular COMPILATION CONTEXT or
  -;;; CONTEXT for short.  A context object has two components: 
  +;;; CONTEXT for short.  A context object has three components:
   ;;;
   ;;; 1. SUCCESSORS, which is a proper list containing zero, one or two
   ;;; elements.  These elements are instructions resulting from the
  
positive.code: ;;;      are required.  The VALUES-FORM-AST of MULTIPLE-VALUE-BIND-AST
  ;;;      is compiled in a context like this.
  ;;;
  ;;;   SUCCESSOR has two elements.  Then RESULTS is the empty list,
  ;;;   meaning that no values are required.  The TEST-AST of an IF-AST
  ;;;   is compiled in a context like this. 
  ;;;
  ;;;   SUCCESSORS has more than two elements.  This possibility is
  ;;;   currently not used.  It is mean to be used for forms like CASE,
  ;;;   TYPECASE, etc.  Again, the RESULTS would be the empty list. 
  
  (defclass context ()
    ((%results :initarg :results :reader results)
  
negative.code:    (%invocation :initarg :invocation :reader invocation)))
  
  (defun context (results successors invocation)
    (unless (or (and (listp results)
  		   (every (lambda (result)
  			    (typep result 'cleavir-ir:lexical-location))
  			  results))
  	      (eq results t))
      (error "illegal results: ~s" results))
    (unless (and (listp successors)
  	       (every (lambda (successor)
  