"close off a class of correctness checking"Except, of course, what happens is that when the compiler detects one of these uses of an invalidated pointer, it silently uses the undefined behavior permission to subvert the program and produce wrong results from the point of view of the programmer. That is, it opens up a new class of silent and deadly errors that would not be there without this pointer invalidation.