I think it would be best if we raised an exception instead of returning success/failure. Either ValueError, or we could make a ValidationError that subclasses ValueError. In my opinion, Exceptions are a great language feature and they work really splendidly in cases like this.