This simplifies the loop a bit and moves the non-predicated exact matching version to use the predicated version. We will need a predicated version for the next commit.