pub fn a_star<F>( graph: &HashMap<String, Vec<Edge>>, start: &str, goal: &str, heuristic: F, ) -> Result<(Vec<String>, f64), Error>where F: Fn(&str, &str) -> f64,
A* shortest path.