code: func servicesFunc(b *Brain, used, missing *dep.Set) func(...string) ([]*dep.CatalogSnippet, error) {
  	return func(s ...string) ([]*dep.CatalogSnippet, error) {
  		result := []*dep.CatalogSnippet{}
  
  		d, err := dep.NewCatalogServicesQuery(strings.Join(s, ""))
  		if err != nil {
  			return nil, err
  		}
  
  		used.Add(d)
  
  		if value, ok := b.Recall(d); ok {
  			return value.([]*dep.CatalogSnippet), nil
  		}
  
  		missing.Add(d)
  
  		return result, nil
  	}
  }
docs: // servicesFunc returns or accumulates catalog services dependencies.