anchor.diff:  	       (setf (rule-instance-queue-tail queue) prev))
   	     (incf (rule-instance-queue-remove-count queue))
   	     (if (member :queue (rule-instance-queue-report-p (instans-rule-instance-queue (node-instans node))))
  -		 (report-rule-op "Removed existing" node token))
  +		 (report-rule-op queue "Removed existing" rule-instance))
   	     (return :found))
   	finally (progn
   		  (if (member :queue (rule-instance-queue-report-p (instans-rule-instance-queue (node-instans node))))
  -		      (report-rule-op "Tried to remove non-existing" node token))
  +		      (report-rule-op queue "Tried to remove non-existing" rule-instance))
   		  (return :not-found))))
   
  -(defun rule-instance-queue-execute-instance (queue instance)
  -  (let ((node (rule-instance-node instance))
  -	(token (rule-instance-token instance))
  +(defun rule-instance-queue-execute-instance (queue rule-instance)
  +  (let ((node (rule-instance-node rule-instance))
  +	(token (rule-instance-token rule-instance))
   	(rule-types (rule-instance-queue-report-p queue)))
       (cond ((typep node 'select-node)
  -	   (if (member :select rule-types) (report-rule-op "Executing" node token))
  +	   (if (member :select rule-types) (report-rule-op queue "Executing" rule-instance))
   	   (incf (rule-instance-queue-select-count queue)))
   	  ((typep node 'ask-node)
  -	   (if (member :ask rule-types) (report-rule-op "Executing" node token))
  +	   (if (member :ask rule-types) (report-rule-op queue "Executing" rule-instance))
   	   (incf (rule-instance-queue-ask-count queue)))
   	  ((typep node 'describe-node)
  -	   (if (member :describe rule-types) (report-rule-op "Executing" node token))
  +	   (if (member :describe rule-types) (report-rule-op queue "Executing" rule-instance))
   	   (incf (rule-instance-queue-describe-count queue)))
   	  ((typep node 'modify-node)
  -	   (if (member :modify rule-types) (report-rule-op "Executing" node token))
  +	   (if (member :modify rule-types) (report-rule-op queue "Executing" rule-instance))
   	   (incf (rule-instance-queue-modify-count queue)))
   	  ((typep node 'construct-node)
  -	   (if (member :construct rule-types) (report-rule-op "Executing" node token))
  +	   (if (member :construct rule-types) (report-rule-op queue "Executing" rule-instance))
   	   (incf (rule-instance-queue-construct-count queue)))
   	  (t
   	   (error* "Illegal kind of node ~S" node)))
  
positive.code:      (rule-instance-queue-construct-count queue)
       (rule-instance-queue-modify-count queue)))
  
  (defun report-rule-op (op node token &key (variables :project) (stream (instans-default-output (node-instans node))))
    (unless (typep node 'query-node)
      (when (eq variables :project)
        (setf variables :visible)))
    (let* ((instans (node-instans node))
  	 (displayed-bindings (loop for var in (funcall (case variables
  							 (:all #'node-all-vars-out)
  							 (:visible #'node-visible-vars-out)
  							 (:project #'solution-modifiers-project-vars ))
  						       node)
  				   unless (null var)
  				   collect (list (uniquely-named-object-name (reverse-resolve-binding instans var))
  						 (sparql-value-to-string (token-value node token var) :instans instans)))))
      (format stream "~%~A rule ~A in ~A (queue length ~D)~%~{~{       ~A = ~A~}~^~%~}~%"
  	    op (if (rule-node-rule-name node) (format nil "~A (node ~A)" (rule-node-rule-name node) node) node)
  	    (instans-name (node-instans node)) (length (rule-instance-queue-head (instans-rule-instance-queue instans))) displayed-bindings)))
   
  (defgeneric execute-rule-node (node token)
    (:method ((this select-node) token)
  
negative.code: (defgeneric rete-add (instans subj pred obj graph)
    (:method ((this instans) subj pred obj graph)
      (if (member :rete-add (rule-instance-queue-report-p (instans-rule-instance-queue this)))
  	(format (instans-default-output this) "~&Rete add to ~A ~A ~A ~A~%~%"
  		(if graph (sparql-value-to-string graph :instans this) "DEFAULT")
  		 (sparql-value-to-string subj :instans this)
  		 (sparql-value-to-string pred :instans this)
  