Adam D. Ruppe wrote:
It wasn't until I added the invariant and in/out contracts to all the functions asserting about null that the problem's true cause became apparent.
Couldn't this happen to you with any datum that has an unexpected value in it?Suppose, for example, you are appending the numbers 1..5 to the array, and somehow appended a 17. Many moons later, something crashes because the 17 was out of range.
