For those who may have been confused from the swapping that was described in the explanation versus whats actually coded, the swapping from the element to remove and the last element in the list doesn't happen explicitly in the code. We simply overwrite the element that we want to remove with the last element. At this point, we didn't swap and there are two of the same elements in the list - one at the recently overwritten value and still the last element. We pop the list to remove this duplicate element at the end. I got hung up from the explanation mentioning this swapping and was confused when I was trying to search for it in the code.