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