Am I blind or is that exactly the same as the `errOccured` case? if so, shouldn't that be `if (errOccured || !check(val)`?