anchor.diff:  
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;
  -;;; Class PROGV-AST.
  -
  -(defclass progv-ast (ast)
  -  ((%symbols-ast :initarg :symbols-ast :reader symbols-ast)
  -   (%vals-ast :initarg :vals-ast :reader vals-ast)
  -   (%body-ast :initarg :body-ast :reader body-ast)))
  -
  -(defun make-progv-ast (symbols-ast vals-ast body-ast)
  -  (make-instance 'progv-ast
  -    :symbols-ast symbols-ast
  -    :vals-ast vals-ast
  -    :body-ast body-ast))
  -
  -;;; FIXME: define a method on STREAM-DRAW-AST specialized to PROGV-AST.
  -
  -(defmethod children ((ast progv-ast))
  -  (append (symbols-ast ast)
  -	  (vals-ast ast)
  -	  (list (body-ast ast))))
  -
  -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  -;;;
   ;;; Class BLOCK-AST.
   
   (defclass block-ast (ast)
  
positive.code: 
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Class CONSTANT-AST. 
  ;;;
  ;;; A CONSTANT-AST represents a constant expression.  A constant
  ;;; expression is one of the following:
  ;;; 
  ;;;   * A literal: any non-symbol atom.
  ;;;   
  ;;;   * A self-evaluating symbol: NIL, T, or a keyword symbol.
  ;;;
  ;;;   * A Symbols that have been define to be constant by the use of
  ;;;     DEFCONSTANT.  The value stored in the AST is not the symbol
  ;;;     itself, but the constant value of it.
  ;;;
  ;;;   * A quoted expression.  The value stored in the AST is the
  ;;;     expression stripped of the quoting form.
  
  (defclass constant-ast (ast)
    ((%value :initarg :value :reader value)))
  
  (defun make-constant-ast (value)
    (make-instance 'constant-ast :value value))
  
  (defmethod stream-draw-ast ((ast constant-ast) stream)
    (format stream "   ~a [label = \"~a\"];~%"
  	  (id ast)
  	  (value ast)))
  
  (defmethod children ((ast constant-ast))
    '())
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
negative.code:   ((%form-ast :initarg :form-ast :reader form-ast)
     (%read-only-p :initarg :read-only-p :reader read-only-p)))
  
  (defun make-load-time-value-ast (form-ast &optional read-only-p)
    (make-instance 'load-time-value-ast
      :form-ast form-ast
      :read-only-p read-only-p))
  
  (defmethod stream-draw-ast ((ast load-time-value-ast) stream)
    (format stream "   ~a [label = \"LTV: ~s\"];~%"
  	  (id ast) (form-ast ast))
    (format stream "   ~a [style = filled, fillcolor = pink];~%"
  	  (id ast)))
  
  (defmethod children ((ast load-time-value-ast))
    (list (form-ast ast)))
  