packages feed

symantic-parser-0.1.0.20210201: test/Golden/Grammar/nandlang.dump

<*>
+ <*>
| + pure (\u1 -> (\u2 -> u1))
| ` <*>
|   + <*>
|   | + <*>
|   | | + pure (\u1 -> (\u2 -> u1))
|   | | ` pure (\u1 -> u1)
|   | ` def <hidden>
|   |   ` <*>
|   |     + <*>
|   |     | + <*>
|   |     | | + pure (\u1 -> (\u2 -> u1))
|   |     | | ` pure (\u1 -> u1)
|   |     | ` <*>
|   |     |   + <*>
|   |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|   |     |   | ` def <hidden>
|   |     |   |   ` pure Term
|   |     |   ` def <hidden>
|   |     |     ` <|>
|   |     |       + <*>
|   |     |       | + <*>
|   |     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|   |     |       | | ` <*>
|   |     |       | |   + <*>
|   |     |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|   |     |       | |   | ` pure (\u1 -> (\u2 -> u1))
|   |     |       | |   ` <|>
|   |     |       | |     + <*>
|   |     |       | |     | + <*>
|   |     |       | |     | | + <*>
|   |     |       | |     | | | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |     | | | ` pure (\u1 -> u1)
|   |     |       | |     | | ` def <hidden>
|   |     |       | |     | |   ` <*>
|   |     |       | |     | |     + <*>
|   |     |       | |     | |     | + <*>
|   |     |       | |     | |     | | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |     | |     | | ` pure (\u1 -> u1)
|   |     |       | |     | |     | ` def <hidden>
|   |     |       | |     | |     |   ` satisfy
|   |     |       | |     | |     ` ref <hidden>
|   |     |       | |     | ` <*>
|   |     |       | |     |   + <*>
|   |     |       | |     |   | + <*>
|   |     |       | |     |   | | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |     |   | | ` pure (\u1 -> u1)
|   |     |       | |     |   | ` <*>
|   |     |       | |     |   |   + <*>
|   |     |       | |     |   |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|   |     |       | |     |   |   | ` pure Term
|   |     |       | |     |   |   ` def <hidden>
|   |     |       | |     |   |     ` <|>
|   |     |       | |     |   |       + <*>
|   |     |       | |     |   |       | + <*>
|   |     |       | |     |   |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|   |     |       | |     |   |       | | ` <*>
|   |     |       | |     |   |       | |   + <*>
|   |     |       | |     |   |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|   |     |       | |     |   |       | |   | ` pure (\u1 -> (\u2 -> u1))
|   |     |       | |     |   |       | |   ` ref <hidden>
|   |     |       | |     |   |       | ` rec <hidden>
|   |     |       | |     |   |       ` pure (\u1 -> u1)
|   |     |       | |     |   ` pure Term
|   |     |       | |     ` <*>
|   |     |       | |       + <*>
|   |     |       | |       | + <*>
|   |     |       | |       | | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |       | | ` pure (\u1 -> u1)
|   |     |       | |       | ` <*>
|   |     |       | |       |   + <*>
|   |     |       | |       |   | + <*>
|   |     |       | |       |   | | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |       |   | | ` pure (\u1 -> u1)
|   |     |       | |       |   | ` try
|   |     |       | |       |   |   ` <*>
|   |     |       | |       |   |     + <*>
|   |     |       | |       |   |     | + pure cons
|   |     |       | |       |   |     | ` <*>
|   |     |       | |       |   |     |   + <*>
|   |     |       | |       |   |     |   | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |       |   |     |   | ` pure '/'
|   |     |       | |       |   |     |   ` ref <hidden>
|   |     |       | |       |   |     ` <*>
|   |     |       | |       |   |       + <*>
|   |     |       | |       |   |       | + pure cons
|   |     |       | |       |   |       | ` <*>
|   |     |       | |       |   |       |   + <*>
|   |     |       | |       |   |       |   | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |       |   |       |   | ` pure '/'
|   |     |       | |       |   |       |   ` ref <hidden>
|   |     |       | |       |   |       ` pure Term
|   |     |       | |       |   ` <*>
|   |     |       | |       |     + <*>
|   |     |       | |       |     | + <*>
|   |     |       | |       |     | | + pure (\u1 -> (\u2 -> u1))
|   |     |       | |       |     | | ` pure (\u1 -> u1)
|   |     |       | |       |     | ` <*>
|   |     |       | |       |     |   + <*>
|   |     |       | |       |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|   |     |       | |       |     |   | ` ref <hidden>
|   |     |       | |       |     |   ` def <hidden>
|   |     |       | |       |     |     ` <|>
|   |     |       | |       |     |       + <*>
|   |     |       | |       |     |       | + <*>
|   |     |       | |       |     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|   |     |       | |       |     |       | | ` <*>
|   |     |       | |       |     |       | |   + <*>
|   |     |       | |       |     |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|   |     |       | |       |     |       | |   | ` pure (\u1 -> (\u2 -> u1))
|   |     |       | |       |     |       | |   ` ref <hidden>
|   |     |       | |       |     |       | ` rec <hidden>
|   |     |       | |       |     |       ` pure (\u1 -> u1)
|   |     |       | |       |     ` ref <hidden>
|   |     |       | |       ` ref <hidden>
|   |     |       | ` rec <hidden>
|   |     |       ` pure (\u1 -> u1)
|   |     ` ref <hidden>
|   ` <*>
|     + <*>
|     | + <*>
|     | | + pure (\u1 -> (\u2 -> u1))
|     | | ` pure (\u1 -> u1)
|     | ` <*>
|     |   + <*>
|     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |   | ` ref <hidden>
|     |   ` def <hidden>
|     |     ` <|>
|     |       + <*>
|     |       | + <*>
|     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | | ` <*>
|     |       | |   + <*>
|     |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|     |       | |   | ` pure (\u1 -> (\u2 -> u1))
|     |       | |   ` <*>
|     |       | |     + <*>
|     |       | |     | + <*>
|     |       | |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     | | ` pure (\u1 -> u1)
|     |       | |     | ` <*>
|     |       | |     |   + <*>
|     |       | |     |   | + <*>
|     |       | |     |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   | | ` pure (\u1 -> u1)
|     |       | |     |   | ` <*>
|     |       | |     |   |   + <*>
|     |       | |     |   |   | + <*>
|     |       | |     |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   | | ` pure (\u1 -> u1)
|     |       | |     |   |   | ` <*>
|     |       | |     |   |   |   + <*>
|     |       | |     |   |   |   | + <*>
|     |       | |     |   |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   | | ` pure (\u1 -> u1)
|     |       | |     |   |   |   | ` try
|     |       | |     |   |   |   |   ` <*>
|     |       | |     |   |   |   |     + <*>
|     |       | |     |   |   |   |     | + <*>
|     |       | |     |   |   |   |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     | | ` pure (\u1 -> u1)
|     |       | |     |   |   |   |     | ` try
|     |       | |     |   |   |   |     |   ` <*>
|     |       | |     |   |   |   |     |     + <*>
|     |       | |     |   |   |   |     |     | + pure cons
|     |       | |     |   |   |   |     |     | ` <*>
|     |       | |     |   |   |   |     |     |   + <*>
|     |       | |     |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |     |   | ` pure 'f'
|     |       | |     |   |   |   |     |     |   ` ref <hidden>
|     |       | |     |   |   |   |     |     ` <*>
|     |       | |     |   |   |   |     |       + <*>
|     |       | |     |   |   |   |     |       | + pure cons
|     |       | |     |   |   |   |     |       | ` <*>
|     |       | |     |   |   |   |     |       |   + <*>
|     |       | |     |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |       |   | ` pure 'u'
|     |       | |     |   |   |   |     |       |   ` ref <hidden>
|     |       | |     |   |   |   |     |       ` <*>
|     |       | |     |   |   |   |     |         + <*>
|     |       | |     |   |   |   |     |         | + pure cons
|     |       | |     |   |   |   |     |         | ` <*>
|     |       | |     |   |   |   |     |         |   + <*>
|     |       | |     |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |         |   | ` pure 'n'
|     |       | |     |   |   |   |     |         |   ` ref <hidden>
|     |       | |     |   |   |   |     |         ` <*>
|     |       | |     |   |   |   |     |           + <*>
|     |       | |     |   |   |   |     |           | + pure cons
|     |       | |     |   |   |   |     |           | ` <*>
|     |       | |     |   |   |   |     |           |   + <*>
|     |       | |     |   |   |   |     |           |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |           |   | ` pure 'c'
|     |       | |     |   |   |   |     |           |   ` ref <hidden>
|     |       | |     |   |   |   |     |           ` <*>
|     |       | |     |   |   |   |     |             + <*>
|     |       | |     |   |   |   |     |             | + pure cons
|     |       | |     |   |   |   |     |             | ` <*>
|     |       | |     |   |   |   |     |             |   + <*>
|     |       | |     |   |   |   |     |             |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |             |   | ` pure 't'
|     |       | |     |   |   |   |     |             |   ` ref <hidden>
|     |       | |     |   |   |   |     |             ` <*>
|     |       | |     |   |   |   |     |               + <*>
|     |       | |     |   |   |   |     |               | + pure cons
|     |       | |     |   |   |   |     |               | ` <*>
|     |       | |     |   |   |   |     |               |   + <*>
|     |       | |     |   |   |   |     |               |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |               |   | ` pure 'i'
|     |       | |     |   |   |   |     |               |   ` ref <hidden>
|     |       | |     |   |   |   |     |               ` <*>
|     |       | |     |   |   |   |     |                 + <*>
|     |       | |     |   |   |   |     |                 | + pure cons
|     |       | |     |   |   |   |     |                 | ` <*>
|     |       | |     |   |   |   |     |                 |   + <*>
|     |       | |     |   |   |   |     |                 |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |                 |   | ` pure 'o'
|     |       | |     |   |   |   |     |                 |   ` ref <hidden>
|     |       | |     |   |   |   |     |                 ` <*>
|     |       | |     |   |   |   |     |                   + <*>
|     |       | |     |   |   |   |     |                   | + pure cons
|     |       | |     |   |   |   |     |                   | ` <*>
|     |       | |     |   |   |   |     |                   |   + <*>
|     |       | |     |   |   |   |     |                   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |   |   |     |                   |   | ` pure 'n'
|     |       | |     |   |   |   |     |                   |   ` ref <hidden>
|     |       | |     |   |   |   |     |                   ` def <hidden>
|     |       | |     |   |   |   |     |                     ` pure Term
|     |       | |     |   |   |   |     ` def <hidden>
|     |       | |     |   |   |   |       ` negLook
|     |       | |     |   |   |   |         ` ref <hidden>
|     |       | |     |   |   |   ` ref <hidden>
|     |       | |     |   |   ` def <hidden>
|     |       | |     |   |     ` <*>
|     |       | |     |   |       + <*>
|     |       | |     |   |       | + <*>
|     |       | |     |   |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |       | | ` pure (\u1 -> u1)
|     |       | |     |   |       | ` try
|     |       | |     |   |       |   ` <*>
|     |       | |     |   |       |     + <*>
|     |       | |     |   |       |     | + <*>
|     |       | |     |   |       |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |       |     | | ` pure (\u1 -> u1)
|     |       | |     |   |       |     | ` ref <hidden>
|     |       | |     |   |       |     ` <*>
|     |       | |     |   |       |       + <*>
|     |       | |     |   |       |       | + <*>
|     |       | |     |   |       |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |       |       | | ` pure (\u1 -> u1)
|     |       | |     |   |       |       | ` <*>
|     |       | |     |   |       |       |   + <*>
|     |       | |     |   |       |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |     |   |       |       |   | ` ref <hidden>
|     |       | |     |   |       |       |   ` def <hidden>
|     |       | |     |   |       |       |     ` <|>
|     |       | |     |   |       |       |       + <*>
|     |       | |     |   |       |       |       | + <*>
|     |       | |     |   |       |       |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |     |   |       |       |       | | ` <*>
|     |       | |     |   |       |       |       | |   + <*>
|     |       | |     |   |       |       |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|     |       | |     |   |       |       |       | |   | ` pure (\u1 -> (\u2 -> u1))
|     |       | |     |   |       |       |       | |   ` ref <hidden>
|     |       | |     |   |       |       |       | ` rec <hidden>
|     |       | |     |   |       |       |       ` pure (\u1 -> u1)
|     |       | |     |   |       |       ` ref <hidden>
|     |       | |     |   |       ` ref <hidden>
|     |       | |     |   ` <*>
|     |       | |     |     + <*>
|     |       | |     |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     | ` <*>
|     |       | |     |     |   + <*>
|     |       | |     |     |   | + <*>
|     |       | |     |     |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |   | | ` pure (\u1 -> u1)
|     |       | |     |     |   | ` def <hidden>
|     |       | |     |     |   |   ` <*>
|     |       | |     |     |   |     + <*>
|     |       | |     |     |   |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |   |     | ` <*>
|     |       | |     |     |   |     |   + <*>
|     |       | |     |     |   |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |   |     |   | ` pure '('
|     |       | |     |     |   |     |   ` ref <hidden>
|     |       | |     |     |   |     ` ref <hidden>
|     |       | |     |     |   ` <*>
|     |       | |     |     |     + <*>
|     |       | |     |     |     | + <*>
|     |       | |     |     |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     | | ` pure (\u1 -> u1)
|     |       | |     |     |     | ` def <hidden>
|     |       | |     |     |     |   ` <|>
|     |       | |     |     |     |     + <*>
|     |       | |     |     |     |     | + <*>
|     |       | |     |     |     |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     | | ` pure Term
|     |       | |     |     |     |     | ` <*>
|     |       | |     |     |     |     |   + <*>
|     |       | |     |     |     |     |   | + <*>
|     |       | |     |     |     |     |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   | | ` pure (\u1 -> u1)
|     |       | |     |     |     |     |   | ` def <hidden>
|     |       | |     |     |     |     |   |   ` <*>
|     |       | |     |     |     |     |   |     + <*>
|     |       | |     |     |     |     |   |     | + <*>
|     |       | |     |     |     |     |   |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |     | | ` pure (\u1 -> u1)
|     |       | |     |     |     |     |   |     | ` ref <hidden>
|     |       | |     |     |     |     |   |     ` <|>
|     |       | |     |     |     |     |   |       + <*>
|     |       | |     |     |     |     |   |       | + <*>
|     |       | |     |     |     |     |   |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       | | ` pure Term
|     |       | |     |     |     |     |   |       | ` def <hidden>
|     |       | |     |     |     |     |   |       |   ` <*>
|     |       | |     |     |     |     |   |       |     + <*>
|     |       | |     |     |     |     |   |       |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |     | ` <*>
|     |       | |     |     |     |     |   |       |     |   + <*>
|     |       | |     |     |     |     |   |       |     |   | + <*>
|     |       | |     |     |     |     |   |       |     |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |     |   | | ` pure (\u1 -> u1)
|     |       | |     |     |     |     |   |       |     |   | ` <*>
|     |       | |     |     |     |     |   |       |     |   |   + <*>
|     |       | |     |     |     |     |   |       |     |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |     |   |   | ` <*>
|     |       | |     |     |     |     |   |       |     |   |   |   + <*>
|     |       | |     |     |     |     |   |       |     |   |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |     |   |   |   | ` pure '['
|     |       | |     |     |     |     |   |       |     |   |   |   ` ref <hidden>
|     |       | |     |     |     |     |   |       |     |   |   ` ref <hidden>
|     |       | |     |     |     |     |   |       |     |   ` <*>
|     |       | |     |     |     |     |   |       |     |     + <*>
|     |       | |     |     |     |     |   |       |     |     | + <*>
|     |       | |     |     |     |     |   |       |     |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |     |     | | ` pure (\u1 -> u1)
|     |       | |     |     |     |     |   |       |     |     | ` ref <hidden>
|     |       | |     |     |     |     |   |       |     |     ` <*>
|     |       | |     |     |     |     |   |       |     |       + <*>
|     |       | |     |     |     |     |   |       |     |       | + <*>
|     |       | |     |     |     |     |   |       |     |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |     |       | | ` pure (\u1 -> u1)
|     |       | |     |     |     |     |   |       |     |       | ` <*>
|     |       | |     |     |     |     |   |       |     |       |   + <*>
|     |       | |     |     |     |     |   |       |     |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |     |     |     |     |   |       |     |       |   | ` pure Term
|     |       | |     |     |     |     |   |       |     |       |   ` def <hidden>
|     |       | |     |     |     |     |   |       |     |       |     ` <|>
|     |       | |     |     |     |     |   |       |     |       |       + <*>
|     |       | |     |     |     |     |   |       |     |       |       | + <*>
|     |       | |     |     |     |     |   |       |     |       |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |     |     |     |     |   |       |     |       |       | | ` <*>
|     |       | |     |     |     |     |   |       |     |       |       | |   + <*>
|     |       | |     |     |     |     |   |       |     |       |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|     |       | |     |     |     |     |   |       |     |       |       | |   | ` pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |     |       |       | |   ` ref <hidden>
|     |       | |     |     |     |     |   |       |     |       |       | ` rec <hidden>
|     |       | |     |     |     |     |   |       |     |       |       ` pure (\u1 -> u1)
|     |       | |     |     |     |     |   |       |     |       ` pure Term
|     |       | |     |     |     |     |   |       |     ` <*>
|     |       | |     |     |     |     |   |       |       + <*>
|     |       | |     |     |     |     |   |       |       | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |       | ` <*>
|     |       | |     |     |     |     |   |       |       |   + <*>
|     |       | |     |     |     |     |   |       |       |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |   |       |       |   | ` pure ']'
|     |       | |     |     |     |     |   |       |       |   ` ref <hidden>
|     |       | |     |     |     |     |   |       |       ` ref <hidden>
|     |       | |     |     |     |     |   |       ` ref <hidden>
|     |       | |     |     |     |     |   ` <*>
|     |       | |     |     |     |     |     + <*>
|     |       | |     |     |     |     |     | + <*>
|     |       | |     |     |     |     |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |     | | ` pure (\u1 -> u1)
|     |       | |     |     |     |     |     | ` <*>
|     |       | |     |     |     |     |     |   + <*>
|     |       | |     |     |     |     |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |     |     |     |     |     |   | ` ref <hidden>
|     |       | |     |     |     |     |     |   ` def <hidden>
|     |       | |     |     |     |     |     |     ` <|>
|     |       | |     |     |     |     |     |       + <*>
|     |       | |     |     |     |     |     |       | + <*>
|     |       | |     |     |     |     |     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |     |     |     |     |     |       | | ` <*>
|     |       | |     |     |     |     |     |       | |   + def <hidden>
|     |       | |     |     |     |     |     |       | |   | ` <*>
|     |       | |     |     |     |     |     |       | |   |   + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|     |       | |     |     |     |     |     |       | |   |   ` pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |     |       | |   ` <*>
|     |       | |     |     |     |     |     |       | |     + <*>
|     |       | |     |     |     |     |     |       | |     | + <*>
|     |       | |     |     |     |     |     |       | |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |     |       | |     | | ` pure (\u1 -> u1)
|     |       | |     |     |     |     |     |       | |     | ` def <hidden>
|     |       | |     |     |     |     |     |       | |     |   ` <*>
|     |       | |     |     |     |     |     |       | |     |     + <*>
|     |       | |     |     |     |     |     |       | |     |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |     |       | |     |     | ` <*>
|     |       | |     |     |     |     |     |       | |     |     |   + <*>
|     |       | |     |     |     |     |     |       | |     |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |     |     |     |       | |     |     |   | ` pure ','
|     |       | |     |     |     |     |     |       | |     |     |   ` ref <hidden>
|     |       | |     |     |     |     |     |       | |     |     ` ref <hidden>
|     |       | |     |     |     |     |     |       | |     ` ref <hidden>
|     |       | |     |     |     |     |     |       | ` rec <hidden>
|     |       | |     |     |     |     |     |       ` pure (\u1 -> u1)
|     |       | |     |     |     |     |     ` ref <hidden>
|     |       | |     |     |     |     ` ref <hidden>
|     |       | |     |     |     ` <|>
|     |       | |     |     |       + <*>
|     |       | |     |     |       | + <*>
|     |       | |     |     |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |       | | ` pure Term
|     |       | |     |     |       | ` <*>
|     |       | |     |     |       |   + <*>
|     |       | |     |     |       |   | + <*>
|     |       | |     |     |       |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |       |   | | ` pure (\u1 -> u1)
|     |       | |     |     |       |   | ` <*>
|     |       | |     |     |       |   |   + <*>
|     |       | |     |     |       |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |       |   |   | ` <*>
|     |       | |     |     |       |   |   |   + <*>
|     |       | |     |     |       |   |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |     |       |   |   |   | ` pure ':'
|     |       | |     |     |       |   |   |   ` ref <hidden>
|     |       | |     |     |       |   |   ` ref <hidden>
|     |       | |     |     |       |   ` ref <hidden>
|     |       | |     |     |       ` ref <hidden>
|     |       | |     |     ` def <hidden>
|     |       | |     |       ` <*>
|     |       | |     |         + <*>
|     |       | |     |         | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |         | ` <*>
|     |       | |     |         |   + <*>
|     |       | |     |         |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |     |         |   | ` pure ')'
|     |       | |     |         |   ` ref <hidden>
|     |       | |     |         ` ref <hidden>
|     |       | |     ` def <hidden>
|     |       | |       ` <*>
|     |       | |         + <*>
|     |       | |         | + pure (\u1 -> (\u2 -> u1))
|     |       | |         | ` <*>
|     |       | |         |   + <*>
|     |       | |         |   | + <*>
|     |       | |         |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |   | | ` pure (\u1 -> u1)
|     |       | |         |   | ` <*>
|     |       | |         |   |   + <*>
|     |       | |         |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |   |   | ` <*>
|     |       | |         |   |   |   + <*>
|     |       | |         |   |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |   |   |   | ` pure '{'
|     |       | |         |   |   |   ` ref <hidden>
|     |       | |         |   |   ` ref <hidden>
|     |       | |         |   ` <*>
|     |       | |         |     + <*>
|     |       | |         |     | + <*>
|     |       | |         |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     | | ` pure (\u1 -> u1)
|     |       | |         |     | ` <*>
|     |       | |         |     |   + <*>
|     |       | |         |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |         |     |   | ` ref <hidden>
|     |       | |         |     |   ` def <hidden>
|     |       | |         |     |     ` <|>
|     |       | |         |     |       + <*>
|     |       | |         |     |       | + <*>
|     |       | |         |     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |         |     |       | | ` <*>
|     |       | |         |     |       | |   + <*>
|     |       | |         |     |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|     |       | |         |     |       | |   | ` pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |   ` <|>
|     |       | |         |     |       | |     + <|>
|     |       | |         |     |       | |     | + <|>
|     |       | |         |     |       | |     | | + <*>
|     |       | |         |     |       | |     | | | + <*>
|     |       | |         |     |       | |     | | | | + <*>
|     |       | |         |     |       | |     | | | | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | | ` <*>
|     |       | |         |     |       | |     | | | |   + <*>
|     |       | |         |     |       | |     | | | |   | + <*>
|     |       | |         |     |       | |     | | | |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   | ` <*>
|     |       | |         |     |       | |     | | | |   |   + <*>
|     |       | |         |     |       | |     | | | |   |   | + <*>
|     |       | |         |     |       | |     | | | |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |   | ` <*>
|     |       | |         |     |       | |     | | | |   |   |   + <*>
|     |       | |         |     |       | |     | | | |   |   |   | + <*>
|     |       | |         |     |       | |     | | | |   |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |   |   | ` try
|     |       | |         |     |       | |     | | | |   |   |   |   ` <*>
|     |       | |         |     |       | |     | | | |   |   |   |     + <*>
|     |       | |         |     |       | |     | | | |   |   |   |     | + <*>
|     |       | |         |     |       | |     | | | |   |   |   |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |   |   |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |   |   |     | ` try
|     |       | |         |     |       | |     | | | |   |   |   |     |   ` <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |     + <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |     | + pure cons
|     |       | |         |     |       | |     | | | |   |   |   |     |     | ` <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |     |   + <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |   |   |     |     |   | ` pure 'i'
|     |       | |         |     |       | |     | | | |   |   |   |     |     |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |   |   |     |     ` <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |       + <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |       | + pure cons
|     |       | |         |     |       | |     | | | |   |   |   |     |       | ` <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |       |   + <*>
|     |       | |         |     |       | |     | | | |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |   |   |     |       |   | ` pure 'f'
|     |       | |         |     |       | |     | | | |   |   |   |     |       |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |   |   |     |       ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |   |   |     ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |   |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |   ` def <hidden>
|     |       | |         |     |       | |     | | | |   |     ` <*>
|     |       | |         |     |       | |     | | | |   |       + <*>
|     |       | |         |     |       | |     | | | |   |       | + <*>
|     |       | |         |     |       | |     | | | |   |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       | ` def <hidden>
|     |       | |         |     |       | |     | | | |   |       |   ` <|>
|     |       | |         |     |       | |     | | | |   |       |     + <|>
|     |       | |         |     |       | |     | | | |   |       |     | + <*>
|     |       | |         |     |       | |     | | | |   |       |     | | + <*>
|     |       | |         |     |       | |     | | | |   |       |     | | | + <*>
|     |       | |         |     |       | |     | | | |   |       |     | | | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     | | | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |     | | | ` <|>
|     |       | |         |     |       | |     | | | |   |       |     | | |   + <*>
|     |       | |         |     |       | |     | | | |   |       |     | | |   | + <*>
|     |       | |         |     |       | |     | | | |   |       |     | | |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     | | |   | | ` pure '0'
|     |       | |         |     |       | |     | | | |   |       |     | | |   | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     | | |   ` <*>
|     |       | |         |     |       | |     | | | |   |       |     | | |     + <*>
|     |       | |         |     |       | |     | | | |   |       |     | | |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     | | |     | ` pure '1'
|     |       | |         |     |       | |     | | | |   |       |     | | |     ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     | | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     | ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |   + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |   | ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |   + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |   | + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |     |   |   | ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |   |   + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |   |   |   | ` pure '\''
|     |       | |         |     |       | |     | | | |   |       |     |   |   |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     |   |   ` <|>
|     |       | |         |     |       | |     | | | |   |       |     |   |     + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |     | + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |     | | + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |     | | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |   |     | | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |     |   |     | | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     |   |     | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     |   |     ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |       + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |       | + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |   |       | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |     |   |       | ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |       |   + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |       |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |   |       |   | ` pure '\\'
|     |       | |         |     |       | |     | | | |   |       |     |   |       |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     |   |       ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |         + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |         | + <*>
|     |       | |         |     |       | |     | | | |   |       |     |   |         | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |   |         | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |     |   |         | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     |   |         ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     |   ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |     + <*>
|     |       | |         |     |       | |     | | | |   |       |     |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |     | ` <*>
|     |       | |         |     |       | |     | | | |   |       |     |     |   + <*>
|     |       | |         |     |       | |     | | | |   |       |     |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |     |     |   | ` pure '\''
|     |       | |         |     |       | |     | | | |   |       |     |     |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     |     ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |     ` <*>
|     |       | |         |     |       | |     | | | |   |       |       + <*>
|     |       | |         |     |       | |     | | | |   |       |       | + <*>
|     |       | |         |     |       | |     | | | |   |       |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |       | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |       | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |       ` <|>
|     |       | |         |     |       | |     | | | |   |       |         + <*>
|     |       | |         |     |       | |     | | | |   |       |         | + <*>
|     |       | |         |     |       | |     | | | |   |       |         | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |         | | ` pure Term
|     |       | |         |     |       | |     | | | |   |       |         | ` <|>
|     |       | |         |     |       | |     | | | |   |       |         |   + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |         |   | | ` <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |   + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |   | + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |         |   | |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |         |   | |   | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |   ` <|>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     | + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |         |   | |     | | ` pure Term
|     |       | |         |     |       | |     | | | |   |       |         |   | |     | ` <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | ` rec <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   ` <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     | + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     | ` <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   ` def <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |     ` <|>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | | ` <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |   + ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |   ` <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | + <*>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     ` rec <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | ` rec <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | |     ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       |         ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |       ` <*>
|     |       | |         |     |       | |     | | | |   |         + <*>
|     |       | |         |     |       | |     | | | |   |         | + <*>
|     |       | |         |     |       | |     | | | |   |         | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |         | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |         | ` <*>
|     |       | |         |     |       | |     | | | |   |         |   + <*>
|     |       | |         |     |       | |     | | | |   |         |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |         |     |       | |     | | | |   |         |   | ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |         |   ` def <hidden>
|     |       | |         |     |       | |     | | | |   |         |     ` <|>
|     |       | |         |     |       | |     | | | |   |         |       + <*>
|     |       | |         |     |       | |     | | | |   |         |       | + <*>
|     |       | |         |     |       | |     | | | |   |         |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |         |     |       | |     | | | |   |         |       | | ` <*>
|     |       | |         |     |       | |     | | | |   |         |       | |   + <*>
|     |       | |         |     |       | |     | | | |   |         |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
|     |       | |         |     |       | |     | | | |   |         |       | |   | ` pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |         |       | |   ` <*>
|     |       | |         |     |       | |     | | | |   |         |       | |     + <*>
|     |       | |         |     |       | |     | | | |   |         |       | |     | + <*>
|     |       | |         |     |       | |     | | | |   |         |       | |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |         |       | |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |         |       | |     | ` <*>
|     |       | |         |     |       | |     | | | |   |         |       | |     |   + <*>
|     |       | |         |     |       | |     | | | |   |         |       | |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |         |       | |     |   | ` <*>
|     |       | |         |     |       | |     | | | |   |         |       | |     |   |   + <*>
|     |       | |         |     |       | |     | | | |   |         |       | |     |   |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | | |   |         |       | |     |   |   | ` pure '!'
|     |       | |         |     |       | |     | | | |   |         |       | |     |   |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |         |       | |     |   ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |         |       | |     ` ref <hidden>
|     |       | |         |     |       | |     | | | |   |         |       | ` rec <hidden>
|     |       | |         |     |       | |     | | | |   |         |       ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | | |   |         ` ref <hidden>
|     |       | |         |     |       | |     | | | |   ` rec <hidden>
|     |       | |         |     |       | |     | | | ` <|>
|     |       | |         |     |       | |     | | |   + <*>
|     |       | |         |     |       | |     | | |   | + <*>
|     |       | |         |     |       | |     | | |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   | | ` pure Term
|     |       | |         |     |       | |     | | |   | ` <*>
|     |       | |         |     |       | |     | | |   |   + <*>
|     |       | |         |     |       | |     | | |   |   | + <*>
|     |       | |         |     |       | |     | | |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | |   |   | ` <*>
|     |       | |         |     |       | |     | | |   |   |   + <*>
|     |       | |         |     |       | |     | | |   |   |   | + <*>
|     |       | |         |     |       | |     | | |   |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | |   |   |   | ` try
|     |       | |         |     |       | |     | | |   |   |   |   ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     + <*>
|     |       | |         |     |       | |     | | |   |   |   |     | + <*>
|     |       | |         |     |       | |     | | |   |   |   |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   |   |   |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | | |   |   |   |     | ` try
|     |       | |         |     |       | |     | | |   |   |   |     |   ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |     + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |     | + pure cons
|     |       | |         |     |       | |     | | |   |   |   |     |     | ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |     |   + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   |   |   |     |     |   | ` pure 'e'
|     |       | |         |     |       | |     | | |   |   |   |     |     |   ` ref <hidden>
|     |       | |         |     |       | |     | | |   |   |   |     |     ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |       + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |       | + pure cons
|     |       | |         |     |       | |     | | |   |   |   |     |       | ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |       |   + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   |   |   |     |       |   | ` pure 'l'
|     |       | |         |     |       | |     | | |   |   |   |     |       |   ` ref <hidden>
|     |       | |         |     |       | |     | | |   |   |   |     |       ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |         + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |         | + pure cons
|     |       | |         |     |       | |     | | |   |   |   |     |         | ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |         |   + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   |   |   |     |         |   | ` pure 's'
|     |       | |         |     |       | |     | | |   |   |   |     |         |   ` ref <hidden>
|     |       | |         |     |       | |     | | |   |   |   |     |         ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |           + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |           | + pure cons
|     |       | |         |     |       | |     | | |   |   |   |     |           | ` <*>
|     |       | |         |     |       | |     | | |   |   |   |     |           |   + <*>
|     |       | |         |     |       | |     | | |   |   |   |     |           |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | | |   |   |   |     |           |   | ` pure 'e'
|     |       | |         |     |       | |     | | |   |   |   |     |           |   ` ref <hidden>
|     |       | |         |     |       | |     | | |   |   |   |     |           ` ref <hidden>
|     |       | |         |     |       | |     | | |   |   |   |     ` ref <hidden>
|     |       | |         |     |       | |     | | |   |   |   ` ref <hidden>
|     |       | |         |     |       | |     | | |   |   ` rec <hidden>
|     |       | |         |     |       | |     | | |   ` ref <hidden>
|     |       | |         |     |       | |     | | ` <*>
|     |       | |         |     |       | |     | |   + <*>
|     |       | |         |     |       | |     | |   | + <*>
|     |       | |         |     |       | |     | |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | |   | ` <*>
|     |       | |         |     |       | |     | |   |   + <*>
|     |       | |         |     |       | |     | |   |   | + <*>
|     |       | |         |     |       | |     | |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | |   |   | ` <*>
|     |       | |         |     |       | |     | |   |   |   + <*>
|     |       | |         |     |       | |     | |   |   |   | + <*>
|     |       | |         |     |       | |     | |   |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | |   |   |   | ` try
|     |       | |         |     |       | |     | |   |   |   |   ` <*>
|     |       | |         |     |       | |     | |   |   |   |     + <*>
|     |       | |         |     |       | |     | |   |   |   |     | + <*>
|     |       | |         |     |       | |     | |   |   |   |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   |   |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     | |   |   |   |     | ` try
|     |       | |         |     |       | |     | |   |   |   |     |   ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |     + <*>
|     |       | |         |     |       | |     | |   |   |   |     |     | + pure cons
|     |       | |         |     |       | |     | |   |   |   |     |     | ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |     |   + <*>
|     |       | |         |     |       | |     | |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   |   |     |     |   | ` pure 'w'
|     |       | |         |     |       | |     | |   |   |   |     |     |   ` ref <hidden>
|     |       | |         |     |       | |     | |   |   |   |     |     ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |       + <*>
|     |       | |         |     |       | |     | |   |   |   |     |       | + pure cons
|     |       | |         |     |       | |     | |   |   |   |     |       | ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |       |   + <*>
|     |       | |         |     |       | |     | |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   |   |     |       |   | ` pure 'h'
|     |       | |         |     |       | |     | |   |   |   |     |       |   ` ref <hidden>
|     |       | |         |     |       | |     | |   |   |   |     |       ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |         + <*>
|     |       | |         |     |       | |     | |   |   |   |     |         | + pure cons
|     |       | |         |     |       | |     | |   |   |   |     |         | ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |         |   + <*>
|     |       | |         |     |       | |     | |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   |   |     |         |   | ` pure 'i'
|     |       | |         |     |       | |     | |   |   |   |     |         |   ` ref <hidden>
|     |       | |         |     |       | |     | |   |   |   |     |         ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |           + <*>
|     |       | |         |     |       | |     | |   |   |   |     |           | + pure cons
|     |       | |         |     |       | |     | |   |   |   |     |           | ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |           |   + <*>
|     |       | |         |     |       | |     | |   |   |   |     |           |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   |   |     |           |   | ` pure 'l'
|     |       | |         |     |       | |     | |   |   |   |     |           |   ` ref <hidden>
|     |       | |         |     |       | |     | |   |   |   |     |           ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |             + <*>
|     |       | |         |     |       | |     | |   |   |   |     |             | + pure cons
|     |       | |         |     |       | |     | |   |   |   |     |             | ` <*>
|     |       | |         |     |       | |     | |   |   |   |     |             |   + <*>
|     |       | |         |     |       | |     | |   |   |   |     |             |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     | |   |   |   |     |             |   | ` pure 'e'
|     |       | |         |     |       | |     | |   |   |   |     |             |   ` ref <hidden>
|     |       | |         |     |       | |     | |   |   |   |     |             ` ref <hidden>
|     |       | |         |     |       | |     | |   |   |   |     ` ref <hidden>
|     |       | |         |     |       | |     | |   |   |   ` ref <hidden>
|     |       | |         |     |       | |     | |   |   ` ref <hidden>
|     |       | |         |     |       | |     | |   ` rec <hidden>
|     |       | |         |     |       | |     | ` try
|     |       | |         |     |       | |     |   ` <*>
|     |       | |         |     |       | |     |     + <*>
|     |       | |         |     |       | |     |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     | ` <*>
|     |       | |         |     |       | |     |     |   + <*>
|     |       | |         |     |       | |     |     |   | + <*>
|     |       | |         |     |       | |     |     |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   | ` <*>
|     |       | |         |     |       | |     |     |   |   + <*>
|     |       | |         |     |       | |     |     |   |   | + <*>
|     |       | |         |     |       | |     |     |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   | ` <*>
|     |       | |         |     |       | |     |     |   |   |   + <*>
|     |       | |         |     |       | |     |     |   |   |   | + <*>
|     |       | |         |     |       | |     |     |   |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   |   | ` <|>
|     |       | |         |     |       | |     |     |   |   |   |   + <*>
|     |       | |         |     |       | |     |     |   |   |   |   | + <*>
|     |       | |         |     |       | |     |     |   |   |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |   |   | | ` pure Term
|     |       | |         |     |       | |     |     |   |   |   |   | ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   | + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |   |   |   | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   |   |   |   | ` try
|     |       | |         |     |       | |     |     |   |   |   |   |   |   ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     | + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |   |   |   |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   |   |   |   |     | ` try
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |   ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     | + pure cons
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     | ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   | ` pure 'v'
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       | + pure cons
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       | ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   | ` pure 'a'
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         | + pure cons
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         | ` <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   + <*>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   | ` pure 'r'
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |   |   |   |     ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |   |   |   ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |   |   ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |   ` <*>
|     |       | |         |     |       | |     |     |   |   |     + <*>
|     |       | |         |     |       | |     |     |   |   |     | + <*>
|     |       | |         |     |       | |     |     |   |   |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   |     | ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |     ` <*>
|     |       | |         |     |       | |     |     |   |   |       + <*>
|     |       | |         |     |       | |     |     |   |   |       | + <*>
|     |       | |         |     |       | |     |     |   |   |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |       | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   |       | ` <*>
|     |       | |         |     |       | |     |     |   |   |       |   + <*>
|     |       | |         |     |       | |     |     |   |   |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |         |     |       | |     |     |   |   |       |   | ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |       |   ` def <hidden>
|     |       | |         |     |       | |     |     |   |   |       |     ` <|>
|     |       | |         |     |       | |     |     |   |   |       |       + <*>
|     |       | |         |     |       | |     |     |   |   |       |       | + <*>
|     |       | |         |     |       | |     |     |   |   |       |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |         |     |       | |     |     |   |   |       |       | | ` <*>
|     |       | |         |     |       | |     |     |   |   |       |       | |   + ref <hidden>
|     |       | |         |     |       | |     |     |   |   |       |       | |   ` <*>
|     |       | |         |     |       | |     |     |   |   |       |       | |     + <*>
|     |       | |         |     |       | |     |     |   |   |       |       | |     | + <*>
|     |       | |         |     |       | |     |     |   |   |       |       | |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |   |       |       | |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   |       |       | |     | ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |       |       | |     ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   |       |       | ` rec <hidden>
|     |       | |         |     |       | |     |     |   |   |       |       ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |   |   |       ` ref <hidden>
|     |       | |         |     |       | |     |     |   |   ` <*>
|     |       | |         |     |       | |     |     |   |     + <*>
|     |       | |         |     |       | |     |     |   |     | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |     | ` <*>
|     |       | |         |     |       | |     |     |   |     |   + <*>
|     |       | |         |     |       | |     |     |   |     |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |   |     |   | ` pure '='
|     |       | |         |     |       | |     |     |   |     |   ` ref <hidden>
|     |       | |         |     |       | |     |     |   |     ` ref <hidden>
|     |       | |         |     |       | |     |     |   ` <*>
|     |       | |         |     |       | |     |     |     + <*>
|     |       | |         |     |       | |     |     |     | + <*>
|     |       | |         |     |       | |     |     |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |     | ` ref <hidden>
|     |       | |         |     |       | |     |     |     ` <*>
|     |       | |         |     |       | |     |     |       + <*>
|     |       | |         |     |       | |     |     |       | + <*>
|     |       | |         |     |       | |     |     |       | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |       | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |       | ` <*>
|     |       | |         |     |       | |     |     |       |   + <*>
|     |       | |         |     |       | |     |     |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
|     |       | |         |     |       | |     |     |       |   | ` ref <hidden>
|     |       | |         |     |       | |     |     |       |   ` def <hidden>
|     |       | |         |     |       | |     |     |       |     ` <|>
|     |       | |         |     |       | |     |     |       |       + <*>
|     |       | |         |     |       | |     |     |       |       | + <*>
|     |       | |         |     |       | |     |     |       |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
|     |       | |         |     |       | |     |     |       |       | | ` <*>
|     |       | |         |     |       | |     |     |       |       | |   + ref <hidden>
|     |       | |         |     |       | |     |     |       |       | |   ` <*>
|     |       | |         |     |       | |     |     |       |       | |     + <*>
|     |       | |         |     |       | |     |     |       |       | |     | + <*>
|     |       | |         |     |       | |     |     |       |       | |     | | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |     |       |       | |     | | ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |       |       | |     | ` ref <hidden>
|     |       | |         |     |       | |     |     |       |       | |     ` ref <hidden>
|     |       | |         |     |       | |     |     |       |       | ` rec <hidden>
|     |       | |         |     |       | |     |     |       |       ` pure (\u1 -> u1)
|     |       | |         |     |       | |     |     |       ` ref <hidden>
|     |       | |         |     |       | |     |     ` def <hidden>
|     |       | |         |     |       | |     |       ` <*>
|     |       | |         |     |       | |     |         + <*>
|     |       | |         |     |       | |     |         | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |         | ` <*>
|     |       | |         |     |       | |     |         |   + <*>
|     |       | |         |     |       | |     |         |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |     |         |   | ` pure ';'
|     |       | |         |     |       | |     |         |   ` ref <hidden>
|     |       | |         |     |       | |     |         ` ref <hidden>
|     |       | |         |     |       | |     ` <*>
|     |       | |         |     |       | |       + <*>
|     |       | |         |     |       | |       | + pure (\u1 -> (\u2 -> u1))
|     |       | |         |     |       | |       | ` ref <hidden>
|     |       | |         |     |       | |       ` ref <hidden>
|     |       | |         |     |       | ` rec <hidden>
|     |       | |         |     |       ` pure (\u1 -> u1)
|     |       | |         |     ` ref <hidden>
|     |       | |         ` <*>
|     |       | |           + <*>
|     |       | |           | + pure (\u1 -> (\u2 -> u1))
|     |       | |           | ` <*>
|     |       | |           |   + <*>
|     |       | |           |   | + pure (\u1 -> (\u2 -> u1))
|     |       | |           |   | ` pure '}'
|     |       | |           |   ` ref <hidden>
|     |       | |           ` ref <hidden>
|     |       | ` rec <hidden>
|     |       ` pure (\u1 -> u1)
|     ` ref <hidden>
` eof