code: func nodeFunc(b *Brain, used, missing *dep.Set) func(...string) (*dep.CatalogNode, error) {
  	return func(s ...string) (*dep.CatalogNode, error) {
  
  		d, err := dep.NewCatalogNodeQuery(strings.Join(s, ""))
  		if err != nil {
  			return nil, err
  		}
  
  		used.Add(d)
  
  		if value, ok := b.Recall(d); ok {
  			return value.(*dep.CatalogNode), nil
  		}
  
  		missing.Add(d)
  
  		return nil, nil
  	}
  }
docs: // nodeFunc returns or accumulates catalog node dependency.