anchor.diff:  (defmethod stream-draw-ast ((ast function-ast) stream)
     (format stream "   ~a [label = \"function\"];~%"
   	  (id ast))
  -  (stream-draw-ast (argparse-ast ast) stream)
  -  (format stream "   ~a -> ~a~%"
  -	  (id ast)
  -	  (id (argparse-ast ast)))
  +  (unless (null (argparse-ast ast))
  +    (stream-draw-ast (argparse-ast ast) stream)
  +    (format stream "   ~a -> ~a~%"
  +	    (id ast)
  +	    (id (argparse-ast ast))))
     (stream-draw-ast (body-ast ast) stream)
     (format stream "   ~a -> ~a~%"
   	  (id ast)
  
positive.code: 	(then-ast ast)
  	(else-ast ast)))
  
  (defmethod stream-draw-ast ((ast sicl-env:lexical-location) stream)
    (format stream "   ~a [label = \"~a\"];~%" (id ast) (sicl-env:name ast))
    (format stream "   ~a [style = filled, fillcolor = yellow];~%" (id ast)))
  
negative.code: ;;; We also define ASTs that do not correspond to any Common Lisp
  ;;; special operators, because we simplify later code generation that
  ;;; way.
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Class CONSTANT-AST. 
  
  (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 [style = filled, fillcolor = green];~%" (id ast))
    (format stream "   ~a [label = \"~a\"];~%"
  	  (id ast)
  	  (value ast)))
  
  (defmethod children ((ast constant-ast))
    '())
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  