catchFail | catchFail | | | pushInput | | read (\u1 -> Pure) | | pop | | popFail | | loadInput | | fail | | loadInput | push unit | popFail | ret pushInput lift Pure choices [(\u1 -> u1)] | fail fail