Peer macro newly introduced names

Since peer macros attached to top-level declaration cannot introduce arbitrary names,
the current forms to specify names cannot meet my needs.
I want to attach a peer macro to a class named _Whatever, and generate a class named Whatever,
because _Whatever is private, and Whatever is public.
But we have no means to remove the prefix.

Maybe do it like this?

class Whatever {
  private class _Whatever { ... }

That way the macro can see the definition of _Whatever.