     astar-simple new swap >>heuristic swap >>cost swap >>neighbours ;
 
 : considered ( astar -- considered )
-    in-closed-set>> keys ;
+    in-closed-set>> members ;

    (add-to-open-set) ;

: ?add-to-open-set ( node astar -- )
    2dup astar>> in-closed-set>> key? [ 2drop ] [ add-to-open-set ] if ;

: move-to-closed-set ( node astar -- )
    [ astar>> in-closed-set>> conjoin ] [ in-open-set>> delete-at ] 2bi ;

: get-first ( astar -- node )
    [ open-set>> heap-pop drop dup ] [ move-to-closed-set ] bi ;

: (init) ( from to astar -- )
    swap >>goal
    H{ } clone over astar>> (>>g)
    { } <hash-set> over astar>> (>>in-closed-set)
    H{ } clone >>origin
    H{ } clone >>in-open-set
    <min-heap> >>open-set
