a_star :: PositionedNamedNode :: dist_with
fun dist_with(o: PositionedNamedNode): Int do var dx = o.x - x var dy = o.y - y var d2 = dx*dx + dy*dy return d2.sqrt end