catchFail | catchFail | | | pushInput | | read | | pop | | popFail | | loadInput | | fail | | loadInput | push () | popFail | ret pushInput lift Pure choices [id] | fail fail