Don't try to survive scanning problems

This change does two things:
 * Fail scans instead of becoming confused.
   (The earlier solution preserved _mostly_ correct
   functionality on _most_ pages, but creates unsolvable
   problems on others - so we give up on this approach for now.)
 * Add minimal destroy functionality
Typo, `inconsistend`.

If this is in an if invisible condition, why does the comment say you see visible content? I probably just don't fully understand the method fully...