Module Generator { PowGen = Lambda (e) -> { = Lambda i=0, // closure e // closure -> { i++ = i**e } } Squares=Lambda PowGen=PowGen(2) // closure ->{ = PowGen() } Cubes=Lambda PowGen=PowGen(3) // closure -> { = PowGen() } Filter=Lambda z=Squares(), // closure Squares, // closure m, // closure Cubes // closure ->{ while m