anchor.diff:  (defgeneric draw-datum (datum stream))
   
   ;;; During the drawing process, the value of this variable is a hash
  -;;; table that contains data that have already been drawn. 
  +;;; table that contains data that have already been drawn.
   (defparameter *datum-table* nil)
   
   (defun datum-id (datum)
     (gethash datum *datum-table*))
   
  -(defmethod draw-datum :around (datum stream)
  -  (when (null (datum-id datum))
  -    (setf (gethash datum *datum-table*) (gensym))
  -    (call-next-method)))
  -
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;
   ;;; Drawing datum CONSTANT-INPUT.
  
positive.code: (defmethod draw-instruction ((instruction enclose-instruction) stream)
    (format stream "   ~a [label = \"enclose\"];~%"
  	  (instruction-id instruction))
    (draw-instruction (code instruction) stream)
    (format stream "  ~a -> ~a [color = pink, style = dashed];~%"
  	  (gethash (code instruction) *instruction-table*)
  	  (instruction-id instruction)))
  
negative.code: 		   (datum-id datum)
  		   (instruction-id instruction)
  		   i))
    ;; Draw a numbered blue dashed arrow to each output
    (loop for datum in (outputs instruction)
  	for i from 1
  	do (draw-datum datum stream)
  