In RETRO, we could begin by rewriting this using the RETRO words:
:acc (ns-)
d:create , [ dup push fetch n:inc pop store ] does ;
The `dup push ... pop` pattern is the `sip` combinator, so we can simplify it:
:acc (ns-)
d:create , [ [ fetch n:inc ] sip store ] does ;
This is better, but not quite done. RETRO has a `v:inc` for incrementing variables, which would eliminate the n:inc and store. And a `bi` combinator to run two quotes against a value. So we could simplify yet again, resulting in: