code: func fileFunc(b *Brain, used, missing *dep.Set) func(string) (string, error) {
  	return func(s string) (string, error) {
  		if len(s) == 0 {
  			return "", nil
  		}
  
  		d, err := dep.NewFileQuery(s)
  		if err != nil {
  			return "", err
  		}
  
  		used.Add(d)
  
  		if value, ok := b.Recall(d); ok {
  			if value == nil {
  				return "", nil
  			}
  			return value.(string), nil
  		}
  
  		missing.Add(d)
  
  		return "", nil
  	}
  }
docs: // fileFunc returns or accumulates file dependencies.