let combinePredecessors _stmt ~old new_ =
    assert (R.verify (new_ <> State.Start)
              "forward traversal shouldn't go through Start !");
    State.test_and_merge ~old new_