def f():
global False
simple = False
False, complex = simple, not simple or (yield True)
True = complex, False or simple
False = filter(None, reversed((complex, False and simple)))
simple = not not True and False
False, complex = simple, not simple
for x in [simple, complex, True, False]:
print repr(x)
print
yield not simple is not False > True < complex >> 42
print reduce(lambda a, b: a.next() or b.send(False), [f()]*2)