code: func byTag(in interface{}) (map[string][]interface{}, error) {
  	m := make(map[string][]interface{})
  
  	switch typed := in.(type) {
  	case nil:
  	case []*dep.CatalogSnippet:
  		for _, s := range typed {
  			for _, t := range s.Tags {
  				m[t] = append(m[t], s)
  			}
  		}
  	case []*dep.CatalogService:
  		for _, s := range typed {
  			for _, t := range s.ServiceTags {
  				m[t] = append(m[t], s)
  			}
  		}
  	case []*dep.HealthService:
  		for _, s := range typed {
  			for _, t := range s.Tags {
  				m[t] = append(m[t], s)
  			}
  		}
  	default:
  		return nil, fmt.Errorf("byTag: wrong argument type %T", in)
  	}
  
  	return m, nil
  }
docs: // byTag is a template func that takes the provided services and
  // produces a map based on Service tags.
  //
  // The map key is a string representing the service tag. The map value is a
  // slice of Services which have the tag assigned.