Corrently, the wiki page says that "yield" should throw StopIteration but "yield undefined" yields the value undefined. Is this by design? I find it a bit strange that it does not follow the "return" analogy where "return" is short for "return undefined" -- erik