\l tck/each \l tck/while call_generator: D[(`swap`call;`callcc1;`nip;`dup;`uncons`swap;();`ifte)] generator_each: D[(`swap `call_generator`dup (`swap;(`over;`swap`call;`dip);`dip) `while `drop2)] yield: D[(`cons`swap`call;`callcc1)] make_generator: D[((`swap`call;`callcc1;`nip;`swap;`call;`nip;`f;`swap;`call);`callcc1;`nip)] tt:E(((1;2;3 4;5);,`yield;`tree_each);`make_generator) E_[tt;(,`z;`generator_each)] \ make_tree_generator: D[(`swap;`rot`call;`callcc1 (,`nip;`dip;`swap) (`cons`swap`call;`callcc1;(,`drop2;`dip)) `tree_each`f`swap`call)] tree_generator: D[(,`make_tree_generator;`callcc1;`nip)]