Can a macro self-host?

You know how we can use #externalMacro(module: type:) to use a macro from a different module. How can we use a macro defined within the same module? Do we just use a special value for the module? I realized that a macro idea I have has to be implemented with a second macro, and I don't want to publish the inner macro.

The macro implementation needs to be in a .macro target, which effectively compiles to an executable (it has a @main type) while the macro declaration needs to be in a library that you can link against, so it’s not possible to have the macro declaration and implementation in the same module.