code: func MapFilesToDirectories(files, dirs []string) []string {
  	mapped := make([]string, 0, len(files)*len(dirs))
  	for _, f := range files {
  		for _, d := range dirs {
  			mapped = append(mapped, filepath.Join(d, f))
  		}
  	}
  	return mapped
  }
docs: // MapFilesToDirectories creates one entry for each file and directory
  // passed. Result is a kind of cross-product. For files f1 and f2 and
  // directories d1 and d2, the returned list will contain d1/f1 d2/f1
  // d1/f2 d2/f2.
  //
  // The "files" part might be a bit misleading - you can pass a list of
  // symlinks or directories there as well.