> 1. If there are branches and they are in the range, does the prune always keep one of them and remove others? Or sometimes it doesn't prune any branch?

Sometimes, it won't prune any path.  Specifically, any time there isn't a single branch that dominates *all* the other branches, the walk will stop completely.

> 2. I am thinking if you mark all the walk nodes as visited and stop without any successful pruning. All this walks nodes are visited and can't be continued out by other paths?

This would only apply to the very first node (where the only walk node is the frontier node) or to walks that only saw path nodes and then failed to prune. We could special-case this and send a message back to the walk nodes to "unvisit" them.  Not sure it's worth it though, especially in a merged graph where there aren't very many path nodes in the graph.