Applicative-style Validation