fn shortest_path_with_edges<'s, 'v>( route: &[&'v Vertex<'s, 'v>] ) -> Vec<(Edge, &'v Vertex<'s, 'v>)>