code: func (cfg *Config) Complete() CompletedConfig {
  	c := completedConfig{
  		cfg.GenericConfig.Complete(),
  		&cfg.ExtraConfig,
  	}
  
  	c.GenericConfig.Version = &version.Info{
  		Major: "1",
  		Minor: "0",
  	}
  
  	return CompletedConfig{&c}
  }
docs: // Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.