code: func (verr *ValidationErrors) AddError(def Definition, err error) {
  	if v, ok := err.(*ValidationErrors); ok {
  		verr.Errors = append(verr.Errors, v.Errors...)
  		verr.Definitions = append(verr.Definitions, v.Definitions...)
  		return
  	}
  	verr.Errors = append(verr.Errors, err)
  	verr.Definitions = append(verr.Definitions, def)
  }
docs: // AddError adds a validation error to the target.
  // AddError "flattens" validation errors so that the recorded errors are never ValidationErrors
  // themselves.