let gen = \x. if x <= 0 then lift 0 else [| y + $(this (output (x + -1))) |] in let double = \y. eval(gen 2) in double 3 + double 4 // prints 1, 0, 1, 0