Correct me if I am wrong, but for loop macros remain "experimental" after 2.5 years in action and there is no explicit plan for upgrading that status. The feature needs to be activated with {.push experimental: "forLoopMacros".} or adding the --experimental compiler switch to a nim.cfg/command-line/etc. In my testing, late processed generic code using the experimental feature winds up requiring end client code to activate the experimental feature even though such end client code is not even calling a for loop macro directly and such client code is likely to be the "least expert" part of the code.
So, what do people think about upgrading them to non-experimental? Have people not been using them since they're marked experimental and might vanish? Are they hated? Loved? Have problems? No one cares? There are some instances in the nimble-verse (cligen, looper, nimpylib, nim-eth-p2p - but dropped in its follow-on nim-eth) & non-nimble things like vitanim and https://github.com/alehander42/comprehension.
Parenthetically, it seems to me that a dot call would be nice for For Loop Macros. Then you could say, for example:
for x in someClosureItrFactory(maybe, takes, args).toItr: discard
instead of having to always do
for x in toItr(someClosureItrFactory(maybe, takes, args)): discard
where the toItr for loop macro does the little syntax dance to use closure iterator factories mentioned at the end of this section of the manual. That is just one of several applications of for loop macros, of course.