\l tck/factor set_choose_fail: D[("choose_fail";`set)] get_choose_fail: D[("choose_fail";`get)] init_choose: D[(("choose tree exhausted";`error);`set_choose_fail)] E@,init_choose; lcurry1: D[(,`unit;`dip;`append)] call_or_value: D[(`dup;`list;,`call;();`ifte)] make_failure_closure: D[(,`call;`lcurry1;`swap ,`set_choose_fail;`lcurry1;`swap `append)] fk_continuation_: D[(`swap `make_failure_closure`set_choose_fail;`dip `swap ,`call_or_value;`dip `call;`f;`f;`f)] fk_continuation: D[(,`fk_continuation_;`callcc0;`drop2;`drop)] sk_continuation_item: D[(`pick (`uncons`swap;`dip2;`rot;`dup2`swap;`dip;`fk_continuation;`sk_continuation_item) `drop`drop`drop`get_choose_fail`call `ifte)] choose: D[(`get_choose_fail;,`sk_continuation_item;`callcc1;,`drop2;`dip)] fail: D[`get_choose_fail`call]