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