anchor.diff:  ;;; Each AST is compiled in a particular COMPILATION CONTEXT or
   ;;; CONTEXT for short.  A context object has three components:
   ;;;
  -;;; 1. SUCCESSORS, which is a proper list containing zero, one or two
  +;;; 1. SUCCESSORS, which is a proper list containing zero or two
   ;;; elements.  These elements are instructions resulting from the
   ;;; generation of the code that should be executed AFTER the code
   ;;; generated from this AST.  If the list contains two elements, then
  
positive.code: ;;;
  ;;; 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
  
negative.code: ;;;      are required.  The VALUES-FORM-AST of MULTIPLE-VALUE-BIND-AST
  ;;;      is compiled in a context like this.
  ;;;
  ;;;      If RESULTS is a values location, then all values are
  ;;;      required.  An example of the use of this context is for
  ;;;      compiling the FIRST-FORM of a MULTIPLE-VALUE-PROG1 special
  ;;;      form.
  ;;;
  ;;;   SUCCESSOR has two elements.  Then RESULTS is the empty list,
  ;;;   meaning that no values are required.  The TEST-AST of an IF-AST
  