In fact, I think users shouldn't really be calling 'set_details`, or setting the properties it sets, as they are supposed to be the exact properties that were passed into the validation func. The exception is draft 3 `required` keyword, because it's validating a keyword on a subschema that is never being validated itself (I think that's sortof a design mistake with draft 3, and one of the reasons it was changed for draft 4.) I am unsure though whether users may want to write other validator funcs that work similarly though...