Great stuff.
I do like to see the simplest possible exposition of any idea/technique though; here's my attempt at a simplest possible.
def y():
yield 1
yield 2
for i in y():
print i