fn dfs_visitor<G, F, C>( graph: G, u: G::NodeId, visitor: &mut F, discovered: &mut G::Map, finished: &mut G::Map, time: &mut Time, ) -> Cwhere G: IntoNeighbors + Visitable, F: FnMut(DfsEvent<G::NodeId>) -> C, C: ControlFlow,