anchor.diff:          'object-location (hash-to-alist (rs-object-locations state))
           'victim-health (hash-to-alist (rs-victim-health state))))
   
  +;;; The variable *PRINT-GRAPHICALLY* is defined in env.lisp.
  +
   (defmethod print-object ((state rescue-state) stream)
  -  (print-unreadable-object (state stream :type t :identity t)
  -    (format stream "~A" (rs-location state))))
  +  (if *print-graphically*
  +      (let ((node (rs-location state)))
  +        (format stream "~&State:~12T~A, carrying ~:[nothing~;~:*~A~], damage ~A~%"
  +                (node-id node)
  +                (rs-carriage state)
  +                (rs-damage state))
  +        (format stream "Neighbors:~12T~{~A~^, ~}~%"
  +                (mapcar #'node-id (node-neighbors node))))
  +      (print-unreadable-object (state stream :type t :identity t)
  +        (format stream "~A; carriage: ~A, dammage: ~A"
  +                (node-id (rs-location state))
  +                (rs-carriage state) (rs-damage state)))))
   
   (defun node-objects (state node)
     (let ((object-hash (rs-object-locations state))
  
positive.code: #||
  (progn
    (defparameter *re-graph*
      (make-graph '((0.0 0.0 :id node-1) (0.0 1.0 :id node-2) (1.0 1.0 :id node-3))
                  '((node-1 node-2) (node-2 node-3))))
  
    (defparameter *rs*
      (let ((node-1 (find-node *re-graph* 'node-1))
  
negative.code:    (home-node :accessor home-node :initarg :home-node
                :initform (required-initarg :home-node))
     (max-damage :accessor max-damage :initarg :max-damage
                 :initform nil)
     (invalid-action-cost :accessor invalid-action-cost :initarg :invalid-action-cost
                          :initform 2.0)))
  
  
  (defmethod initialize-instance :after ((self <rescue-env>) &key)
  