I actually take it back, haha. It temporarily made sense to me in that it would validate that the result of the move was as intended, but if it isn't then it never leaves the loop anyway. So my original reaction stands it seems, if the invariant is reached it would be guaranteed to be true. Unless you had something else in-mind (other than putting it last in the function).