anchor.diff:    (let ((r (random 1.0)))
       (cond ((< r 0.05)
   	   '())
  -	  ((< r 0.90)
  +	  ((< r 0.20)
   	   (list (elt vars (random (length vars)))))
   	  (t
   	   (let* ((v1 (elt vars (random (length vars))))
  
positive.code: 			  :direction :output
  			  :if-exists :supersede)
      (format stream "digraph G {~%")
      (let ((table (make-hash-table :test #'eq)))
        (labels ((draw-node (node)
  		 (unless (gethash node table)
  		   (setf (gethash node table) t)
  		   (loop for succ in (successors node)
  			 do (draw-node succ))
  		   (format stream
  			   "   ~a [label = \"~a\"];~%"
  			   (name node) (name node))
  		   (loop for succ in (successors node)
  			 do (format stream
  				    "   ~a -> ~a;~%"
  				    (name node)
  				    (name succ))))))
  	(draw-node initial-node)))
      (format stream "}~%")))
  
  (defun draw-preorder (preorder filename)
  
negative.code: 
  (defun make-node (&optional successors)
    (make-instance 'node :successors successors))
  
  (defmethod print-object ((object node) stream)
    (print-unreadable-object (object stream)
      (format stream "~a" (name object))))
  
  ;;; The probability of giving a node in layer 0 zero successors.
  (defparameter *initial-zero-successor-probability* 0.05)
  