code: func (s *Stringorslice) UnmarshalYAML(unmarshal func(interface{}) error) error {
  	var stringType string
  	if err := unmarshal(&stringType); err == nil {
  		*s = []string{stringType}
  		return nil
  	}
  
  	var sliceType []interface{}
  	if err := unmarshal(&sliceType); err == nil {
  		parts, err := toStrings(sliceType)
  		if err != nil {
  			return err
  		}
  		*s = parts
  		return nil
  	}
  
  	return errors.New("Failed to unmarshal Stringorslice")
  }
docs: // UnmarshalYAML implements the Unmarshaller interface.