`defaultValue` is called twice when it does not return 'pass'. Could that ever have any confusing side effects? Might it be better to store the result of the validation in a variable?