"helper function" term reminds "utility libraries" but "wrapper" term refers "function decorators" and in this context wrapper can be more self-descriptive and meaningful.
in clarification drawing(setinterval-interval.svg) func is calling with different argument values like func(1), func(2) ...
But we can't see why variable i changing. Maybe we need func(i++) to explain this situation.
function() { return count++; } is running because it is a function declaration. It is running and result of this running a function has been created and sent as a parameter to return command. "return count++;" this part is not running because the function has not been called yet.
We need to put 'null' to end of linked list. otherwise wen we want to get last item in the linked list, it will be undefined. And this situation inconsistent with object literal definition of linked list above.
There has to be a scary CPU-intensive task here, otherwise the example wouldn't make sense. Hence the suppression of "can";
I have also removed "actually" because in this context it would be interpreted as "to your surprise", which is not the case here
"Now when the call looks for `count` variable, it first searches its own Lexical Environment (empty), then the Lexical Environment of the outer `makeCounter()` call, where finds it."
to
"Now when the call looks for `count` variable, it first searches its own Lexical Environment (empty), then the Lexical Environment of the outer `makeCounter()` call, where it finds it."
As per issue comment thread #1282:
Clarifying "current code" for zero delay setInterval.
Plus minor edit of ordering of terms for greater consistency.
Plus minor grammatical fixes.