type symbol … // find the symbols for the best directories func getSymbols(cd Abspath, dirs map[string][]*directory) { … } func getFileExports(f *ast.File) []symbol { … } func newsym(pkg, name, kind, sig string) *symbol { … } // return the package name and the value for the symbols. // if there are multiple packages, choose one arbitrarily // the returned slice is sorted lexicographically func processSyms(syms []symbol) (string, []string) { … }