push ((flip ($)) ((flip ($)) Pure) . ((.) . cons)) name_1: | catchFail | | | push ((flip ($)) ((flip ($)) ((flip ($)) ((flip ($)) Pure . (cons . const 'd')) . ((.) . (cons . const 'c'))) . ((.) . ((.) . (cons . const 'b')))) . ((.) . ((.) . ((.) . (cons . const 'a'))))) | | read | | lift ($) | | read | | lift ($) | | read | | lift ($) | | read | | lift ($) | | popFail | | ret | | loadInput | fail call name_1 lift ($) name_2: | catchFail | | | push ((.) . cons) | | call name_1 | | lift ($) | | call name_2 | | lift ($) | | popFail | | ret | | pushInput | lift Pure | choices [id] | | | push id | | ret | | fail call name_2 lift ($) ret