you can’t attach a decorator (which isn’t even a real JS feature! it never shipped) or an “API call” to a module.
directives are *the* way to attach something that changes the semantics to a module. sure specific ones are nonstandard but they’re reflected in AST, don’t require special parser, etc