code: func (b *Builder) ReplaceAliases(input string) string {
  	replaced := []string{}
  	for _, arg := range strings.Split(input, ",") {
  		if b.categoryExpanderFn == nil {
  			continue
  		}
  		categoryExpander, err := b.categoryExpanderFn()
  		if err != nil {
  			b.AddError(err)
  			continue
  		}
  
  		if resources, ok := categoryExpander.Expand(arg); ok {
  			asStrings := []string{}
  			for _, resource := range resources {
  				if len(resource.Group) == 0 {
  					asStrings = append(asStrings, resource.Resource)
  					continue
  				}
  				asStrings = append(asStrings, resource.Resource+"."+resource.Group)
  			}
  			arg = strings.Join(asStrings, ",")
  		}
  		replaced = append(replaced, arg)
  	}
  	return strings.Join(replaced, ",")
  }
docs: // ReplaceAliases accepts an argument and tries to expand any existing
  // aliases found in it