catchException "fail" | catchException "fail" | | | pushValue (\u1 -> (\u2 -> 'a' : ('a' : Term))) | | read ('a' ==) | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | read ('a' ==) | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | popException "fail" | | popException "fail" | | ret | | loadInput | raiseException "fail" pushInput lift2Value Term choicesBranch [(\u1 -> u1)] | catchException "fail" | | | pushValue (\u1 -> (\u2 -> 'a' : ('b' : Term))) | | read ('a' ==) | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | read ('b' ==) | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | popException "fail" | | ret | | loadInput | raiseException "fail" raiseException "fail"