Модули имеют однозначное соответствие с исходными файлами. Имя модуля - это имя файла с удаленными путем и расширением.
Имена модулей по-прежнему указываются в файлах явно.
module foo;
Какой в этом смысл? Если модули соответствуют файлам, почему компилятор не может определить, как они называются, по именам файлов?