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