Hey!
When using reflect.Method() or reflect.MethodByName() with a non-constant argument, dead code elimination is disabled for public functions. This makes the final binary bigger than it should. See for example kubernetes/kubernetes#132216 for an effort on the subject.
validatefn validator uses such a method. Would it be OK to hide it behind a build constraint? Like validator_no_reflectmethod? This would prevent specifying a custom validator (a static one is still OK).