We use error code strings to tell ValidationError objects apart. Some of those codes are identical across validators which led to some code only working by accident, and may cause bugs later on. We should make sure that those don't overlap.
Idea: add some kind of prefix to all error codes (and context keys), e.g. the class/interface name.