 
 
 
+(comment
+ (let [e (make-random-taxi-env 3 3 3 2) h (simple-taxi-hierarchy e)]  
+  (println "ucs" (run-counted #(second (uniform-cost-search e))))
+  (doseq [alg `[sahtn-dijkstra sahucs-flat sahucs-simple sahucs-dijkstra sahucs-inverted]]
+         (time (println alg (run-counted #(second ((resolve alg) h)))))))
+ )
+
 
 ;; TODO: compare performance to other algorithms.  
 

            (make-recursive-expander 
             (delay (make-exhaustive-search 
                     (make-abstracted-incremental-dijkstra-sa-search state reward f))) r)))
     (make-goal-node state))
   reward])



            (if (< @index-atom (count @result-vec-atom))
                (let [[_ rew :as result] (nth @result-vec-atom @index-atom)]
                 ;; TODO: remove
;                  (util/assert-is (<= (count @result-vec-atom) 1) "%s" [@result-vec-atom])
                  (if (>= rew min-reward)
                      (do (swap! index-atom inc) 
                          (PartialResult [result] 
