trust the compiler to generate proper tail call or a while loop for the invalidation method (latest release builds are converted to while loops)