Functional validations inspired by Ruby's ActiveModel