I'm told the annotation syntaxes for telling esbuild which comments to preserve are:
//! somecomment
and
// somecomment @preserve.
We probably don't want to add //! in addition to //#, to keep this consistent with source maps.
But what we could easily do is allow random stuff:
//# allFunctionsCalledOnLoad <stuff>
and
//# functionsCalledOnLoad=<data> <stuff>