I understand that every validator needs to accept a `context`, even though it doesn't need it. But maybe you could set `int_validator` to have a default context value? I mean, `def int_validator(value, context={})`, so you don't need to keep calling it with `None` all over the place.

If you don't agree with it, please change the calls to pass an empty dictionary. Even though we don't use the `context` now, it's still better to pass a "mock" that belongs to the class that the method expects IMHO.