func objectKind(obj types.Object) string { … } // NB: for renamings, blank is not considered valid. func isValidIdentifier(id string) bool { … } // isLocal reports whether obj is local to some function. // Precondition: not a struct field or interface method. func isLocal(obj types.Object) bool { … } func isPackageLevel(obj types.Object) bool { … } func isLetter(ch rune) bool { … } func isDigit(ch rune) bool { … } // sameFile returns true if x and y have the same basename and denote // the same file. func sameFile(x, y string) bool { … } func unparen(e ast.Expr) ast.Expr { … } func is[T any](x any) bool { … }