It's necessary if you want the sanity checks to never squawk at you, since we don't check to see whether the cache is valid (width != -1) where we now update it in append and drop. I don't think it's necessary from a pure correctness standpoint.

If we wrapped the debug log squawking in a check for width != -1 then we wouldn't have to do this. Seems like a good idea.