is there any reason to not implement `validate!` as a private method and return true/false from there?
seems strange to implement `valid?` on top of a rescue from a method that could return true/false instead.
is there a use case for the raise(validate!) method?