DSL EXPRESSION:
for (k in $*) { emit { k : k } }


AST:
"block" [tt:block] [nt:StatementBlock]
    "for" [tt:kw_for] [nt:ForLoopOneVariable]
        "k" [tt:non_sigil_name] [nt:LocalVariable]
        "$*" [tt:full_srec] [nt:FullSrec]
        "block" [tt:block] [nt:StatementBlockInBraces]
            "block" [tt:block] [nt:StatementBlock]
                "emit" [tt:kw_emit] [nt:EmitStatement]
                    "{}" [tt:{}] [nt:MapLiteral]
                        ":" [tt:colon] [nt:MapLiteralKeyValuePair]
                            "k" [tt:non_sigil_name] [nt:LocalVariable]
                            "k" [tt:non_sigil_name] [nt:LocalVariable]

