code: func treeFunc(b *Brain, used, missing *dep.Set) func(string) ([]*dep.KeyPair, error) {
  	return func(s string) ([]*dep.KeyPair, error) {
  		result := []*dep.KeyPair{}
  
  		if len(s) == 0 {
  			return result, nil
  		}
  
  		d, err := dep.NewKVListQuery(s)
  		if err != nil {
  			return result, err
  		}
  
  		used.Add(d)
  
  		// Only return non-empty top-level keys
  		if value, ok := b.Recall(d); ok {
  			for _, pair := range value.([]*dep.KeyPair) {
  				parts := strings.Split(pair.Key, "/")
  				if parts[len(parts)-1] != "" {
  					result = append(result, pair)
  				}
  			}
  			return result, nil
  		}
  
  		missing.Add(d)
  
  		return result, nil
  	}
  }
docs: // treeFunc returns or accumulates keyPrefix dependencies.