<*>
+ <*>
| + pure (\u1 -> (\u2 -> u1))
| ` <*>
|   + def <hidden>
|   | ` <|>
|   |   + <*>
|   |   | + <*>
|   |   | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|   |   | | ` <*>
|   |   | |   + pure cons
|   |   | |   ` <*>
|   |   | |     + <*>
|   |   | |     | + pure (\u1 -> (\u2 -> u1))
|   |   | |     | ` pure 'r'
|   |   | |     ` satisfy
|   |   | ` rec <hidden>
|   |   ` pure (\u1 -> u1)
|   ` pure Term
` eof