DSL EXPRESSION:
for(k,v in $*) {$[k."_orig"]=v; $[k] = "other"}


AST:
"block" [tt:block] [nt:StatementBlock]
    "for" [tt:kw_for] [nt:ForLoopTwoVariable]
        "k" [tt:non_sigil_name] [nt:LocalVariable]
        "v" [tt:non_sigil_name] [nt:LocalVariable]
        "$*" [tt:full_srec] [nt:FullSrec]
        "block" [tt:block] [nt:StatementBlockInBraces]
            "block" [tt:block] [nt:StatementBlock]
                "=" [tt:equals] [nt:Assignment]
                    "$[]" [tt:$[]] [nt:IndirectFieldValue]
                        "." [tt:op_dot] [nt:DotOperator]
                            "k" [tt:non_sigil_name] [nt:LocalVariable]
                            ""_orig"" [tt:string_literal] [nt:string_literal]
                    "v" [tt:non_sigil_name] [nt:LocalVariable]
                "=" [tt:equals] [nt:Assignment]
                    "$[]" [tt:$[]] [nt:IndirectFieldValue]
                        "k" [tt:non_sigil_name] [nt:LocalVariable]
                    ""other"" [tt:string_literal] [nt:string_literal]

a     b     i     x     y     a_orig b_orig i_orig x_orig     y_orig
other other other other other pan    pan    1      0.34679014 0.72680286
other other other other other eks    pan    2      0.75867996 0.52215111
other other other other other wye    wye    3      0.20460331 0.33831853
other other other other other eks    wye    4      0.38139939 0.13418874
other other other other other wye    pan    5      0.57328892 0.86362447
other other other other other zee    pan    6      0.52712616 0.49322129
other other other other other eks    zee    7      0.61178406 0.18788492
other other other other other zee    wye    8      0.59855401 0.97618139
other other other other other hat    wye    9      0.03144188 0.74955076
other other other other other pan    wye    10     0.50262601 0.95261836
