Also in my view, all annotations are to be considered optional, they create an "intermingled" meta-language which is to be interpreted by another engine (a compiler, some specific runtime, a debugger) but they should all be safely removed and the code should still be valid and interpretable by a core Lua engine.
The metalanguage however can be written in Lua too just like the engine interpreting it.
But a basic annotation "const" or "toclose" are not meaningful isolately as a plain statement for a metalanguage, they make sense only with the core language statement toi which they are directly associated (i.e. always after the statement starting token but before any declared item and any _expression_). What they annotate can only be used by a compiler (as type hints) but not directly by the runtime engine, a debugger or tracking logger (whose behavior cannot be controled by these annotations, if they use these annotations, it is only to interpret the item in the core language with which they are necessarily associated).