-push ((\x0 -> (\x1 -> (\x2 -> (x0 x2) x1))) (\x0 -> (\x1 -> x0 x1))) Pure
+push (\u1 -> u1 Term)
name_1:
| catchFail
| <try>
-| | push ((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) (\x0 -> (\x1 -> (\x2 -> x0 (x1 x2))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) cons) ((\x0 -> (\x1 -> x0)) 'a'))
-| | read
-| | lift (\x0 -> (\x1 -> x0 x1))
+| | push (\u1 -> (\u2 -> (\u3 -> 'a' : u2 u3)))
+| | read ('a' ==)
+| | lift (\u1 -> (\u2 -> u1 u2))
| | call name_1
-| | lift (\x0 -> (\x1 -> x0 x1))
+| | lift (\u1 -> (\u2 -> u1 u2))
| | popFail
| | ret
| <handler>
| pushInput
-| lift Pure
-| choices [id]
+| lift Term
+| choices [(\u1 -> u1)]
| <branch>
-| | push (\x0 -> x0)
+| | push (\u1 -> u1)
| | ret
| <default>
| fail
call name_1
-lift (\x0 -> (\x1 -> x0 x1))
+lift (\u1 -> (\u2 -> u1 u2))
ret