Perhaps there's history or mathematical explanations to this. But, yeah, "A function that can temporarily pause itself and be returned to later" is a possibly confusing overloading of the concept of a function.
When I learned generators from Python the understanding of “a function that yields instead of returns” was very easy to grasp. And considering I already knew how functions worked & what their syntax was this was just an extra step (rather than starting from scratch). ECMAscript have taken a similar path to Python here.
This could also be because my mental model is they are just functions that have the ability to return to the stack at a later point in time, rather than “running to completion”.
What happens to a frame that you pause? Does it get set aside? Is it still on the stack?
[0] https://hacks.mozilla.org/2015/05/es6-in-depth-generators/
[1] https://hacks.mozilla.org/2015/05/es6-in-depth-generators/#c...
Call it a routine instead?