-<*>
-+ <*>
-| + pure (\u1 -> (\u2 -> u1 Term))
+lets
++ let <hidden>
| ` <|>
| + <*>
| | + <*>
-| | | + pure (\u1 -> (\u2 -> (\u3 -> u1 : u2 u3)))
-| | | ` satisfy
+| | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
+| | | ` <*>
+| | | + pure cons
+| | | ` satisfy
| | ` rec <hidden>
| ` pure (\u1 -> u1)
-` eof
+` <*>
+ + pure Term
+ ` <*>
+ + <*>
+ | + pure (\u1 -> (\u2 -> u1))
+ | ` <*>
+ | + ref <hidden>
+ | ` pure Term
+ ` eof