Also, I think `is_valid` is much clearer than `validate` when you're returning a bool.