pub fn new<'a, I, N, E, Ty: EdgeType, Ix: IndexType, G, F>(
graph: &'a Graph<I, N, E, Ty, Ix>,
journey: (NodeIndex<Ix>, Option<NodeIndex<Ix>>),
h: G,
w: F,
k: f32,
direction: Direction
) -> BestFirst<'a, I, N, E, Ty, Ix, impl Fn(NodeIndex<Ix>, EdgeIndex<Ix>, f32, NodeIndex<Ix>) -> f32 + 'a>where
G: Fn(&NodeIndex<Ix>) -> f32 + 'a,
F: Fn(&E) -> f32 + 'a,