One things I did not see mentioned, but maybe you don’t see it as part of this work: macros can indicate if they support inline context or not and sometimes a macro declare it support inline, but it actually does not really work (fail, or produce standalone content in an inline context). Or the other way around (a macro that does not have any technical reason to be restricted to standalone context only does not officially support inline context).