func (v *CommonValidations) ClearNumberValidations(cbs ...func(string, interface{})) {
	done := make(clearedValidations, 0, 5)
	defer func() {
		done.apply(cbs)
	}()
	if v.Minimum != nil {
		done = append(done, clearedValidation{Validation: "minimum", Value: v.Minimum})
		v.Minimum = nil
	}
	if v.Maximum != nil {
		done = append(done, clearedValidation{Validation: "maximum", Value: v.Maximum})
		v.Maximum = nil
	}
	if v.ExclusiveMaximum {
		done = append(done, clearedValidation{Validation: "exclusiveMaximum", Value: v.ExclusiveMaximum})
		v.ExclusiveMaximum = false
	}
	if v.ExclusiveMinimum {
		done = append(done, clearedValidation{Validation: "exclusiveMinimum", Value: v.ExclusiveMinimum})
		v.ExclusiveMinimum = false
	}
	if v.MultipleOf != nil {
		done = append(done, clearedValidation{Validation: "multipleOf", Value: v.MultipleOf})
		v.MultipleOf = nil
	}
}
ClearNumberValidations clears all number validations.

Some callbacks may be set by the caller to capture changed values.
package spec
type CommonValidations struct {
	Maximum          *float64      `json:"maximum,omitempty"`
	ExclusiveMaximum bool          `json:"exclusiveMaximum,omitempty"`
	Minimum          *float64      `json:"minimum,omitempty"`
	ExclusiveMinimum bool          `json:"exclusiveMinimum,omitempty"`
	MaxLength        *int64        `json:"maxLength,omitempty"`
	MinLength        *int64        `json:"minLength,omitempty"`
	Pattern          string        `json:"pattern,omitempty"`
	MaxItems         *int64        `json:"maxItems,omitempty"`
	MinItems         *int64        `json:"minItems,omitempty"`
	UniqueItems      bool          `json:"uniqueItems,omitempty"`
	MultipleOf       *float64      `json:"multipleOf,omitempty"`
	Enum             []interface{} `json:"enum,omitempty"`
}
func (v *CommonValidations) SetValidations(val SchemaValidations) {
	v.Maximum = val.Maximum
	v.ExclusiveMaximum = val.ExclusiveMaximum
	v.Minimum = val.Minimum
	v.ExclusiveMinimum = val.ExclusiveMinimum
	v.MaxLength = val.MaxLength
	v.MinLength = val.MinLength
	v.Pattern = val.Pattern
	v.MaxItems = val.MaxItems
	v.MinItems = val.MinItems
	v.UniqueItems = val.UniqueItems
	v.MultipleOf = val.MultipleOf
	v.Enum = val.Enum
}
type clearedValidation struct {
	Validation string
	Value      interface{}
}
type clearedValidations []clearedValidation
func (c clearedValidations) apply(cbs []func(string, interface{})) {
	for _, cb := range cbs {
		for _, cleared := range c {
			cb(cleared.Validation, cleared.Value)
		}
	}
}