Is my understanding correct that package and module names form part of the name mangling? Example: module a.b.c; void hello() {} When compiled the function name will be mangled to include a.b.c? Is it also true that the package and module name need not be associated with directory structure or file name?