code: func CleanPaths(paths, delim string) (cleaned []string) {
  	// If paths is an empty string, splitting it will yield [""], which will
  	// become the path ".". To avoid this, bail out if trimmed paths
  	// argument is empty.
  	if paths = strings.TrimSpace(paths); len(paths) == 0 {
  		return
  	}
  
  	for _, part := range strings.Split(paths, delim) {
  		part = strings.TrimSpace(part)
  
  		// Remove trailing `/` or `\`, but only the first one.
  		for _, sep := range []string{`/`, `\`} {
  			if strings.HasSuffix(part, sep) {
  				part = strings.TrimSuffix(part, sep)
  				break
  			}
  		}
  
  		cleaned = append(cleaned, part)
  	}
  
  	return cleaned
  }
docs: // CleanPaths splits the given `paths` argument by the delimiter argument, and
  // then "cleans" that path according to the path.Clean function (see
  // https://golang.org/pkg/path#Clean).
  // Note always cleans to '/' path separators regardless of platform (git friendly)