code: func (version *Version) UnmarshalYAML(unmarshal func(interface{}) error) error {
  	var versionString string
  	err := unmarshal(&versionString)
  	if err != nil {
  		return err
  	}
  
  	newVersion := Version(versionString)
  	if _, err := newVersion.major(); err != nil {
  		return err
  	}
  
  	if _, err := newVersion.minor(); err != nil {
  		return err
  	}
  
  	*version = newVersion
  	return nil
  }
docs: // UnmarshalYAML implements the yaml.Unmarshaler interface
  // Unmarshals a string of the form X.Y into a Version, validating that X and Y can represent unsigned integers