1 push (\u1 -> (\u2 -> u1 Term))
5 | | push (\u1 -> (\u2 -> (\u3 -> 'r' : u2 u3)))
7 | | lift (\u1 -> (\u2 -> u1 u2))
9 | | lift (\u1 -> (\u2 -> u1 u2))
15 | choices [(\u1 -> u1)]
22 lift (\u1 -> (\u2 -> u1 u2))
24 | lift (\u1 -> (\u2 -> u1 u2))
31 | | read (\u1 -> Term)