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:    (%invocation :initarg :invocation :reader invocation)))
  
  (defun context (results successors invocation)
    (unless (and (listp results)
  	       (every (lambda (result)
  			(typep result 'cleavir-ir:lexical-location))
  		      results))
      (error "illegal results: ~s" results))
    (unless (and (listp successors)
  	       (every (lambda (successor)
  
negative.code: ;;; RETURN-INSTRUCTION (for other ASTs) that returns all the values of
  ;;; the AST should be generated.
  ;;;
  ;;; 2. RESULTS, indicating how many values are required from the
  ;;; compilation of this AST.  It can be either a list or T.  If it is
  ;;; a list, it contains zero or more lexical locations into which the
  ;;; generated code must put the values of this AST.  If it is T, it
  ;;; means that ALL values are required.  If the list contains more
  ;;; elements than the number of values generated by this AST, then the
  ;;; remaining lexical locations in the list must be filled with NIL by
  ;;; the code generated from this AST.
  ;;;
  ;;; 3. INVOCATION, an ENTER-INSTRUCTION or NIL.  When it is an
  ;;; ENTER-INSTRUCTION, it indicates the function to which the code to
  ;;; be compiled belongs. When it is NIL, it means that the initial
  ;;; instruction was not an ENTER-INSTRUCTION and the code belongs to
  ;;; the top-level evaluation context.
  ;;;
  ;;; The following combinations of SUCCESSORS and RESULTS can occur:
  ;;;
  ;;;   SUCCESSORS is the empty list.  Then RESULTS is T, which means
  ;;;   that ALL the values are required.  Forms that are in TAIL
  ;;;   POSITION are compiled in a context like this.
  ;;;
  ;;;   SUCCESSORS has one element.  then RESULTS can be a list or T.
  ;;;
  ;;;      If RESULTS is the empty list, this means that no values are
  ;;;      required.  Forms inside a PROGN other than the last are
  ;;;      compiled in a context like this.
  ;;;
  