That's what I was getting at. It's not actually possible to really recover from such errors in a sensible way, so I want to croak at some point anyway. Since
Can't use string ("...") as an ARRAY ref is just as good as a custom
croak message, I simplify my life by skipping checks for conditions that wil cause the code to blow up anyway. Instead I check for semantic problems where I need to hit the selfdestruct button myself because Perl won't know to do it for me.
Makeshifts last the longest.