anchor.diff:    (defparameter *re*
       (make-instance '<rescue-env>
         :nav-graph *re-graph*
  -      :home-node (find-node *re-graph* 3))))
  +      :home-nodes (list (find-node *re-graph* 3)))))
   
   #+ (or)
   (sample-next *re* (sample-next *re* *rs* '(pickup m1)) '(go node-3))
  
positive.code: (defclass <rescue-env> (<fully-observable-env>)
    ((nav-graph :accessor nav-graph :initarg :nav-graph
                :initform (required-initarg :map))
     (home-node :accessor home-node :initarg :home-node
                :initform (required-initarg :home-node))
     (max-damage :accessor max-damage :initarg :max-damage
                 :initform 500)
     (invalid-action-cost :accessor invalid-action-cost :initarg :invalid-action-cost
                          :initform 2.0)))
  
  
  (defmethod initialize-instance :around ((self <rescue-env>) &key home-node nav-graph)
    (call-next-method self
                      :home-node (find-node nav-graph home-node)
                      :nav-graph nav-graph))
  
  #||
  
negative.code:          (from (rs-location state))
           (to (rs-location new-state))
           (edge (find to (node-edges from) :key #'edge-to))
           (reward (if (and (some (lambda (home-node)
                                    (same home-node (rs-location new-state)))
                                  (home-nodes env))
                            (eql action 'drop))
                       1000
                       0)))
  