This distinguishes between ‘read’-related and other errors, but i'm unsure if the way of discernment is correct. (Too, it could be reworked to use ‘pcase’...)