The snag is a swap in the setup, not the bit flip. The naturals only number the rows. Each row is an infinite string of bits, and flipping bit n of row n builds a string that disagrees with every row already written down. That fires on whatever list you started with, so the claim is not one missing natural. It is that no list indexed by the naturals can hold every infinite bit string. Which part will not sit still, the new string being well-defined, or the jump from one missed list to every possible list?