code: func retrieveToken(ctx context.Context, c *Config, v url.Values) (*oauth2.Token, error) {
  	tk, err := internal.RetrieveToken(ctx, c.ClientID, c.ClientSecret, c.TokenURL, v)
  	if err != nil {
  		return nil, err
  	}
  	return tokenFromInternal(tk), nil
  }
docs: // retrieveToken takes a *Config and uses that to retrieve an *internal.Token.
  // This token is then mapped from *internal.Token into an *oauth2.Token which is
  // returned along with an error.