1 pushValue (\u1 -> (\u2 -> u1 Term))
3 | lift2Value (\u1 -> (\u2 -> u1 u2))
5 | | lift2Value (\u1 -> (\u2 -> u1 u2))
7 | catchException "fail"
9 | | catchException "fail"
12 | | | read (\u1 -> Term)
14 | | | popException "fail"
16 | | | raiseException "fail"
20 | | popException "fail"
25 | choicesBranch [(\u1 -> u1)]
27 | | raiseException "fail"
29 | raiseException "fail"
32 | pushValue (\u1 -> (\u2 -> (\u3 -> 'r' : u2 u3)))
34 | lift2Value (\u1 -> (\u2 -> u1 u2))
36 | lift2Value (\u1 -> (\u2 -> u1 u2))
42 choicesBranch [(\u1 -> u1)]
44 | pushValue (\u1 -> u1)