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