How to allow arbitrary expressions in format strings

Fair point. Though the problem of analysability and safety of macros will have to be dealt with somehow anyway; perhaps through const fn macros or something like WebAssembly-based sandboxing. With sandboxing in place, it would be more affordable to simply run the macro from the IDE plugin; it might even be possible to use some kind of origin tagging (which is probably already necessary and already done to an extent for the sake of hygiene) to keep track of how tokens appearing inside interpolation points end up used in macro output, and use that information to match them up to binding scopes, etc. Admittedly somewhat ambitious, but I don’t believe insurmountable.