code: func NewField(path, index, name string, opts FieldOption) (*Field, error) {
  	err := validateName(name)
  	if err != nil {
  		return nil, errors.Wrap(err, "validating name")
  	}
  
  	return newField(path, index, name, opts)
  }
docs: // NewField returns a new instance of field.