
We can already easily simulate your first alternative in a generator comprehension: (x for it in its for x in it) # equivalent to def gen(its): for it in its: for x in it: yield x so anyone who wants that behaviour can easily get it. So unpacking in a comprehension should provide the second alternative: (*it for it in its) # equivalent to def gen(its): for it in its: yield from it As you say, the difference is subtle, and usually not important, so most people will not care and will use whatever is easier to type :-) (I think the difference has to do with sending values into the generator, throwing and catching exceptions, but I can't think of a simple example where it would make a difference.) -- Steve