We should be able to resolve the different extension case with a decent override that extends the existing ruleset, but doesn’t use English words. Perhaps  as a default, with {$} for an override (as a quick thought). The idea is to build general syntax rules that we can build upon, in this case embedded content syntax ![]() mixed with consistent attribute syntax {}, the latter of which is also under heavy discussion.