code: func FetchRoles(roleNames []string, access RoleGetter, traits map[string][]string) (RoleSet, error) {
  	var roles []Role
  
  	for _, roleName := range roleNames {
  		role, err := access.GetRole(roleName)
  		if err != nil {
  			return nil, trace.Wrap(err)
  		}
  		roles = append(roles, role.ApplyTraits(traits))
  	}
  
  	return NewRoleSet(roles...), nil
  }
docs: // FetchRoles fetches roles by their names, applies the traits to role
  // variables, and returns the RoleSet.