code: func (a *Auth) PrependAuthenticator(name string, authenticator Authenticator) *Auth {
  	c := a.copy()
  	strategy := &Strategy{
  		Name:          name,
  		Authenticator: authenticator,
  	}
  	c.Strategies = append([]*Strategy{strategy}, c.Strategies...)
  	return c
  }
docs: // AddAuthenticator returns a shallow copy of the Auth object with the given
  // authentication method added.