Just to clarify, the suggestion here is to maintain two separate containers of the pointers, one of which is designed only to allow this safety checking?