doc: update the ReadMe and ChangeLog
[haskell/symantic-parser.git] / test / Golden / Grammar / nandlang.dump
index 787b5a48fcf0d9056688754c8274e544b4f97b10..72ea8c7597429a99fcf37d26e126f05810dc3175 100644 (file)
@@ -6,7 +6,7 @@
 |   | + <*>
 |   | | + pure (\u1 -> (\u2 -> u1))
 |   | | ` pure (\u1 -> u1)
-|   | ` def name_4
+|   | ` def name_11
 |   |   ` <*>
 |   |     + <*>
 |   |     | + <*>
@@ -15,9 +15,9 @@
 |   |     | ` <*>
 |   |     |   + <*>
 |   |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|   |     |   | ` def name_21
+|   |     |   | ` def name_27
 |   |     |   |   ` pure Term
-|   |     |   ` def name_22
+|   |     |   ` def name_28
 |   |     |     ` <|>
 |   |     |       + <*>
 |   |     |       | + <*>
 |   |     |       | |     | | + <*>
 |   |     |       | |     | | | + pure (\u1 -> (\u2 -> u1))
 |   |     |       | |     | | | ` pure (\u1 -> u1)
-|   |     |       | |     | | ` def name_17
+|   |     |       | |     | | ` def name_26
 |   |     |       | |     | |   ` <*>
 |   |     |       | |     | |     + <*>
 |   |     |       | |     | |     | + <*>
 |   |     |       | |     | |     | | + pure (\u1 -> (\u2 -> u1))
 |   |     |       | |     | |     | | ` pure (\u1 -> u1)
-|   |     |       | |     | |     | ` def name_5
+|   |     |       | |     | |     | ` def name_2
 |   |     |       | |     | |     |   ` satisfy
-|   |     |       | |     | |     ` ref name_21
+|   |     |       | |     | |     ` ref name_27
 |   |     |       | |     | ` <*>
 |   |     |       | |     |   + <*>
 |   |     |       | |     |   | + <*>
@@ -50,7 +50,7 @@
 |   |     |       | |     |   |   + <*>
 |   |     |       | |     |   |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
 |   |     |       | |     |   |   | ` pure Term
-|   |     |       | |     |   |   ` def name_14
+|   |     |       | |     |   |   ` def name_20
 |   |     |       | |     |   |     ` <|>
 |   |     |       | |     |   |       + <*>
 |   |     |       | |     |   |       | + <*>
@@ -59,8 +59,8 @@
 |   |     |       | |     |   |       | |   + <*>
 |   |     |       | |     |   |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
 |   |     |       | |     |   |       | |   | ` pure (\u1 -> (\u2 -> u1))
-|   |     |       | |     |   |       | |   ` ref name_17
-|   |     |       | |     |   |       | ` rec name_14
+|   |     |       | |     |   |       | |   ` ref name_26
+|   |     |       | |     |   |       | ` rec name_20
 |   |     |       | |     |   |       ` pure (\u1 -> u1)
 |   |     |       | |     |   ` pure Term
 |   |     |       | |     ` <*>
@@ -81,7 +81,7 @@
 |   |     |       | |       |   |     |   + <*>
 |   |     |       | |       |   |     |   | + pure (\u1 -> (\u2 -> u1))
 |   |     |       | |       |   |     |   | ` pure '/'
-|   |     |       | |       |   |     |   ` ref name_5
+|   |     |       | |       |   |     |   ` ref name_2
 |   |     |       | |       |   |     ` <*>
 |   |     |       | |       |   |       + <*>
 |   |     |       | |       |   |       | + pure cons
@@ -89,7 +89,7 @@
 |   |     |       | |       |   |       |   + <*>
 |   |     |       | |       |   |       |   | + pure (\u1 -> (\u2 -> u1))
 |   |     |       | |       |   |       |   | ` pure '/'
-|   |     |       | |       |   |       |   ` ref name_5
+|   |     |       | |       |   |       |   ` ref name_2
 |   |     |       | |       |   |       ` pure Term
 |   |     |       | |       |   ` <*>
 |   |     |       | |       |     + <*>
@@ -99,8 +99,8 @@
 |   |     |       | |       |     | ` <*>
 |   |     |       | |       |     |   + <*>
 |   |     |       | |       |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|   |     |       | |       |     |   | ` ref name_21
-|   |     |       | |       |     |   ` def name_7
+|   |     |       | |       |     |   | ` ref name_27
+|   |     |       | |       |     |   ` def name_12
 |   |     |       | |       |     |     ` <|>
 |   |     |       | |       |     |       + <*>
 |   |     |       | |       |     |       | + <*>
 |   |     |       | |       |     |       | |   + <*>
 |   |     |       | |       |     |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
 |   |     |       | |       |     |       | |   | ` pure (\u1 -> (\u2 -> u1))
-|   |     |       | |       |     |       | |   ` ref name_5
-|   |     |       | |       |     |       | ` rec name_7
+|   |     |       | |       |     |       | |   ` ref name_2
+|   |     |       | |       |     |       | ` rec name_12
 |   |     |       | |       |     |       ` pure (\u1 -> u1)
-|   |     |       | |       |     ` ref name_21
-|   |     |       | |       ` ref name_21
-|   |     |       | ` rec name_22
+|   |     |       | |       |     ` ref name_27
+|   |     |       | |       ` ref name_27
+|   |     |       | ` rec name_28
 |   |     |       ` pure (\u1 -> u1)
-|   |     ` ref name_21
+|   |     ` ref name_27
 |   ` <*>
 |     + <*>
 |     | + <*>
 |     | ` <*>
 |     |   + <*>
 |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |   | ` ref name_21
-|     |   ` def name_10
+|     |   | ` ref name_27
+|     |   ` def name_15
 |     |     ` <|>
 |     |       + <*>
 |     |       | + <*>
 |     |       | |     |   |   |   |     |     |   + <*>
 |     |       | |     |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |     |   | ` pure 'f'
-|     |       | |     |   |   |   |     |     |   ` ref name_5
+|     |       | |     |   |   |   |     |     |   ` ref name_2
 |     |       | |     |   |   |   |     |     ` <*>
 |     |       | |     |   |   |   |     |       + <*>
 |     |       | |     |   |   |   |     |       | + pure cons
 |     |       | |     |   |   |   |     |       |   + <*>
 |     |       | |     |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |       |   | ` pure 'u'
-|     |       | |     |   |   |   |     |       |   ` ref name_5
+|     |       | |     |   |   |   |     |       |   ` ref name_2
 |     |       | |     |   |   |   |     |       ` <*>
 |     |       | |     |   |   |   |     |         + <*>
 |     |       | |     |   |   |   |     |         | + pure cons
 |     |       | |     |   |   |   |     |         |   + <*>
 |     |       | |     |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |         |   | ` pure 'n'
-|     |       | |     |   |   |   |     |         |   ` ref name_5
+|     |       | |     |   |   |   |     |         |   ` ref name_2
 |     |       | |     |   |   |   |     |         ` <*>
 |     |       | |     |   |   |   |     |           + <*>
 |     |       | |     |   |   |   |     |           | + pure cons
 |     |       | |     |   |   |   |     |           |   + <*>
 |     |       | |     |   |   |   |     |           |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |           |   | ` pure 'c'
-|     |       | |     |   |   |   |     |           |   ` ref name_5
+|     |       | |     |   |   |   |     |           |   ` ref name_2
 |     |       | |     |   |   |   |     |           ` <*>
 |     |       | |     |   |   |   |     |             + <*>
 |     |       | |     |   |   |   |     |             | + pure cons
 |     |       | |     |   |   |   |     |             |   + <*>
 |     |       | |     |   |   |   |     |             |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |             |   | ` pure 't'
-|     |       | |     |   |   |   |     |             |   ` ref name_5
+|     |       | |     |   |   |   |     |             |   ` ref name_2
 |     |       | |     |   |   |   |     |             ` <*>
 |     |       | |     |   |   |   |     |               + <*>
 |     |       | |     |   |   |   |     |               | + pure cons
 |     |       | |     |   |   |   |     |               |   + <*>
 |     |       | |     |   |   |   |     |               |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |               |   | ` pure 'i'
-|     |       | |     |   |   |   |     |               |   ` ref name_5
+|     |       | |     |   |   |   |     |               |   ` ref name_2
 |     |       | |     |   |   |   |     |               ` <*>
 |     |       | |     |   |   |   |     |                 + <*>
 |     |       | |     |   |   |   |     |                 | + pure cons
 |     |       | |     |   |   |   |     |                 |   + <*>
 |     |       | |     |   |   |   |     |                 |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |                 |   | ` pure 'o'
-|     |       | |     |   |   |   |     |                 |   ` ref name_5
+|     |       | |     |   |   |   |     |                 |   ` ref name_2
 |     |       | |     |   |   |   |     |                 ` <*>
 |     |       | |     |   |   |   |     |                   + <*>
 |     |       | |     |   |   |   |     |                   | + pure cons
 |     |       | |     |   |   |   |     |                   |   + <*>
 |     |       | |     |   |   |   |     |                   |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |   |   |     |                   |   | ` pure 'n'
-|     |       | |     |   |   |   |     |                   |   ` ref name_5
-|     |       | |     |   |   |   |     |                   ` def name_28
+|     |       | |     |   |   |   |     |                   |   ` ref name_2
+|     |       | |     |   |   |   |     |                   ` def name_5
 |     |       | |     |   |   |   |     |                     ` pure Term
-|     |       | |     |   |   |   |     ` def name_30
+|     |       | |     |   |   |   |     ` def name_7
 |     |       | |     |   |   |   |       ` negLook
-|     |       | |     |   |   |   |         ` ref name_5
-|     |       | |     |   |   |   ` ref name_4
-|     |       | |     |   |   ` def name_2
+|     |       | |     |   |   |   |         ` ref name_2
+|     |       | |     |   |   |   ` ref name_11
+|     |       | |     |   |   ` def name_9
 |     |       | |     |   |     ` <*>
 |     |       | |     |   |       + <*>
 |     |       | |     |   |       | + <*>
 |     |       | |     |   |       |     | + <*>
 |     |       | |     |   |       |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |   |       |     | | ` pure (\u1 -> u1)
-|     |       | |     |   |       |     | ` ref name_5
+|     |       | |     |   |       |     | ` ref name_2
 |     |       | |     |   |       |     ` <*>
 |     |       | |     |   |       |       + <*>
 |     |       | |     |   |       |       | + <*>
 |     |       | |     |   |       |       | ` <*>
 |     |       | |     |   |       |       |   + <*>
 |     |       | |     |   |       |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |       | |     |   |       |       |   | ` ref name_21
-|     |       | |     |   |       |       |   ` def name_11
+|     |       | |     |   |       |       |   | ` ref name_27
+|     |       | |     |   |       |       |   ` def name_16
 |     |       | |     |   |       |       |     ` <|>
 |     |       | |     |   |       |       |       + <*>
 |     |       | |     |   |       |       |       | + <*>
 |     |       | |     |   |       |       |       | |   + <*>
 |     |       | |     |   |       |       |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
 |     |       | |     |   |       |       |       | |   | ` pure (\u1 -> (\u2 -> u1))
-|     |       | |     |   |       |       |       | |   ` ref name_5
-|     |       | |     |   |       |       |       | ` rec name_11
+|     |       | |     |   |       |       |       | |   ` ref name_2
+|     |       | |     |   |       |       |       | ` rec name_16
 |     |       | |     |   |       |       |       ` pure (\u1 -> u1)
-|     |       | |     |   |       |       ` ref name_21
-|     |       | |     |   |       ` ref name_4
+|     |       | |     |   |       |       ` ref name_27
+|     |       | |     |   |       ` ref name_11
 |     |       | |     |   ` <*>
 |     |       | |     |     + <*>
 |     |       | |     |     | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |   | + <*>
 |     |       | |     |     |   | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |   | | ` pure (\u1 -> u1)
-|     |       | |     |     |   | ` def name_12
+|     |       | |     |     |   | ` def name_18
 |     |       | |     |     |   |   ` <*>
 |     |       | |     |     |   |     + <*>
 |     |       | |     |     |   |     | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |   |     |   + <*>
 |     |       | |     |     |   |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |   |     |   | ` pure '('
-|     |       | |     |     |   |     |   ` ref name_5
-|     |       | |     |     |   |     ` ref name_4
+|     |       | |     |     |   |     |   ` ref name_2
+|     |       | |     |     |   |     ` ref name_11
 |     |       | |     |     |   ` <*>
 |     |       | |     |     |     + <*>
 |     |       | |     |     |     | + <*>
 |     |       | |     |     |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     | | ` pure (\u1 -> u1)
-|     |       | |     |     |     | ` def name_3
+|     |       | |     |     |     | ` def name_10
 |     |       | |     |     |     |   ` <|>
 |     |       | |     |     |     |     + <*>
 |     |       | |     |     |     |     | + <*>
 |     |       | |     |     |     |     |   | + <*>
 |     |       | |     |     |     |     |   | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |   | | ` pure (\u1 -> u1)
-|     |       | |     |     |     |     |   | ` def name_24
+|     |       | |     |     |     |     |   | ` def name_30
 |     |       | |     |     |     |     |   |   ` <*>
 |     |       | |     |     |     |     |   |     + <*>
 |     |       | |     |     |     |     |   |     | + <*>
 |     |       | |     |     |     |     |   |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |   |     | | ` pure (\u1 -> u1)
-|     |       | |     |     |     |     |   |     | ` ref name_2
+|     |       | |     |     |     |     |   |     | ` ref name_9
 |     |       | |     |     |     |     |   |     ` <|>
 |     |       | |     |     |     |     |   |       + <*>
 |     |       | |     |     |     |     |   |       | + <*>
 |     |       | |     |     |     |     |   |       | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |   |       | | ` pure Term
-|     |       | |     |     |     |     |   |       | ` def name_13
+|     |       | |     |     |     |     |   |       | ` def name_19
 |     |       | |     |     |     |     |   |       |   ` <*>
 |     |       | |     |     |     |     |   |       |     + <*>
 |     |       | |     |     |     |     |   |       |     | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |   |       |     |   |   |   + <*>
 |     |       | |     |     |     |     |   |       |     |   |   |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |   |       |     |   |   |   | ` pure '['
-|     |       | |     |     |     |     |   |       |     |   |   |   ` ref name_5
-|     |       | |     |     |     |     |   |       |     |   |   ` ref name_4
+|     |       | |     |     |     |     |   |       |     |   |   |   ` ref name_2
+|     |       | |     |     |     |     |   |       |     |   |   ` ref name_11
 |     |       | |     |     |     |     |   |       |     |   ` <*>
 |     |       | |     |     |     |     |   |       |     |     + <*>
 |     |       | |     |     |     |     |   |       |     |     | + <*>
 |     |       | |     |     |     |     |   |       |     |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |   |       |     |     | | ` pure (\u1 -> u1)
-|     |       | |     |     |     |     |   |       |     |     | ` ref name_5
+|     |       | |     |     |     |     |   |       |     |     | ` ref name_2
 |     |       | |     |     |     |     |   |       |     |     ` <*>
 |     |       | |     |     |     |     |   |       |     |       + <*>
 |     |       | |     |     |     |     |   |       |     |       | + <*>
 |     |       | |     |     |     |     |   |       |     |       |   + <*>
 |     |       | |     |     |     |     |   |       |     |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
 |     |       | |     |     |     |     |   |       |     |       |   | ` pure Term
-|     |       | |     |     |     |     |   |       |     |       |   ` def name_6
+|     |       | |     |     |     |     |   |       |     |       |   ` def name_13
 |     |       | |     |     |     |     |   |       |     |       |     ` <|>
 |     |       | |     |     |     |     |   |       |     |       |       + <*>
 |     |       | |     |     |     |     |   |       |     |       |       | + <*>
 |     |       | |     |     |     |     |   |       |     |       |       | |   + <*>
 |     |       | |     |     |     |     |   |       |     |       |       | |   | + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
 |     |       | |     |     |     |     |   |       |     |       |       | |   | ` pure (\u1 -> (\u2 -> u1))
-|     |       | |     |     |     |     |   |       |     |       |       | |   ` ref name_5
-|     |       | |     |     |     |     |   |       |     |       |       | ` rec name_6
+|     |       | |     |     |     |     |   |       |     |       |       | |   ` ref name_2
+|     |       | |     |     |     |     |   |       |     |       |       | ` rec name_13
 |     |       | |     |     |     |     |   |       |     |       |       ` pure (\u1 -> u1)
 |     |       | |     |     |     |     |   |       |     |       ` pure Term
 |     |       | |     |     |     |     |   |       |     ` <*>
 |     |       | |     |     |     |     |   |       |       |   + <*>
 |     |       | |     |     |     |     |   |       |       |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |   |       |       |   | ` pure ']'
-|     |       | |     |     |     |     |   |       |       |   ` ref name_5
-|     |       | |     |     |     |     |   |       |       ` ref name_4
-|     |       | |     |     |     |     |   |       ` ref name_21
+|     |       | |     |     |     |     |   |       |       |   ` ref name_2
+|     |       | |     |     |     |     |   |       |       ` ref name_11
+|     |       | |     |     |     |     |   |       ` ref name_27
 |     |       | |     |     |     |     |   ` <*>
 |     |       | |     |     |     |     |     + <*>
 |     |       | |     |     |     |     |     | + <*>
 |     |       | |     |     |     |     |     | ` <*>
 |     |       | |     |     |     |     |     |   + <*>
 |     |       | |     |     |     |     |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |       | |     |     |     |     |     |   | ` ref name_21
-|     |       | |     |     |     |     |     |   ` def name_23
+|     |       | |     |     |     |     |     |   | ` ref name_27
+|     |       | |     |     |     |     |     |   ` def name_29
 |     |       | |     |     |     |     |     |     ` <|>
 |     |       | |     |     |     |     |     |       + <*>
 |     |       | |     |     |     |     |     |       | + <*>
 |     |       | |     |     |     |     |     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
 |     |       | |     |     |     |     |     |       | | ` <*>
-|     |       | |     |     |     |     |     |       | |   + def name_29
+|     |       | |     |     |     |     |     |       | |   + def name_6
 |     |       | |     |     |     |     |     |       | |   | ` <*>
 |     |       | |     |     |     |     |     |       | |   |   + pure (\u1 -> (\u2 -> (\u3 -> (u1 u3) u2)))
 |     |       | |     |     |     |     |     |       | |   |   ` pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |     |       | |     | + <*>
 |     |       | |     |     |     |     |     |       | |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |     |       | |     | | ` pure (\u1 -> u1)
-|     |       | |     |     |     |     |     |       | |     | ` def name_18
+|     |       | |     |     |     |     |     |       | |     | ` def name_23
 |     |       | |     |     |     |     |     |       | |     |   ` <*>
 |     |       | |     |     |     |     |     |       | |     |     + <*>
 |     |       | |     |     |     |     |     |       | |     |     | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |     |       | |     |     |   + <*>
 |     |       | |     |     |     |     |     |       | |     |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |     |     |     |       | |     |     |   | ` pure ','
-|     |       | |     |     |     |     |     |       | |     |     |   ` ref name_5
-|     |       | |     |     |     |     |     |       | |     |     ` ref name_4
-|     |       | |     |     |     |     |     |       | |     ` ref name_24
-|     |       | |     |     |     |     |     |       | ` rec name_23
+|     |       | |     |     |     |     |     |       | |     |     |   ` ref name_2
+|     |       | |     |     |     |     |     |       | |     |     ` ref name_11
+|     |       | |     |     |     |     |     |       | |     ` ref name_30
+|     |       | |     |     |     |     |     |       | ` rec name_29
 |     |       | |     |     |     |     |     |       ` pure (\u1 -> u1)
-|     |       | |     |     |     |     |     ` ref name_21
-|     |       | |     |     |     |     ` ref name_21
+|     |       | |     |     |     |     |     ` ref name_27
+|     |       | |     |     |     |     ` ref name_27
 |     |       | |     |     |     ` <|>
 |     |       | |     |     |       + <*>
 |     |       | |     |     |       | + <*>
 |     |       | |     |     |       |   |   |   + <*>
 |     |       | |     |     |       |   |   |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |     |       |   |   |   | ` pure ':'
-|     |       | |     |     |       |   |   |   ` ref name_5
-|     |       | |     |     |       |   |   ` ref name_4
-|     |       | |     |     |       |   ` ref name_3
-|     |       | |     |     |       ` ref name_21
-|     |       | |     |     ` def name_1
+|     |       | |     |     |       |   |   |   ` ref name_2
+|     |       | |     |     |       |   |   ` ref name_11
+|     |       | |     |     |       |   ` ref name_10
+|     |       | |     |     |       ` ref name_27
+|     |       | |     |     ` def name_8
 |     |       | |     |       ` <*>
 |     |       | |     |         + <*>
 |     |       | |     |         | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |         |   + <*>
 |     |       | |     |         |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |     |         |   | ` pure ')'
-|     |       | |     |         |   ` ref name_5
-|     |       | |     |         ` ref name_4
-|     |       | |     ` def name_19
+|     |       | |     |         |   ` ref name_2
+|     |       | |     |         ` ref name_11
+|     |       | |     ` def name_24
 |     |       | |       ` <*>
 |     |       | |         + <*>
 |     |       | |         | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |   |   |   + <*>
 |     |       | |         |   |   |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |   |   |   | ` pure '{'
-|     |       | |         |   |   |   ` ref name_5
-|     |       | |         |   |   ` ref name_4
+|     |       | |         |   |   |   ` ref name_2
+|     |       | |         |   |   ` ref name_11
 |     |       | |         |   ` <*>
 |     |       | |         |     + <*>
 |     |       | |         |     | + <*>
 |     |       | |         |     | ` <*>
 |     |       | |         |     |   + <*>
 |     |       | |         |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |       | |         |     |   | ` ref name_21
-|     |       | |         |     |   ` def name_27
+|     |       | |         |     |   | ` ref name_27
+|     |       | |         |     |   ` def name_4
 |     |       | |         |     |     ` <|>
 |     |       | |         |     |       + <*>
 |     |       | |         |     |       | + <*>
 |     |       | |         |     |       | |     | | | |   |   |   |     |     |   + <*>
 |     |       | |         |     |       | |     | | | |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |   |   |     |     |   | ` pure 'i'
-|     |       | |         |     |       | |     | | | |   |   |   |     |     |   ` ref name_5
+|     |       | |         |     |       | |     | | | |   |   |   |     |     |   ` ref name_2
 |     |       | |         |     |       | |     | | | |   |   |   |     |     ` <*>
 |     |       | |         |     |       | |     | | | |   |   |   |     |       + <*>
 |     |       | |         |     |       | |     | | | |   |   |   |     |       | + pure cons
 |     |       | |         |     |       | |     | | | |   |   |   |     |       |   + <*>
 |     |       | |         |     |       | |     | | | |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |   |   |     |       |   | ` pure 'f'
-|     |       | |         |     |       | |     | | | |   |   |   |     |       |   ` ref name_5
-|     |       | |         |     |       | |     | | | |   |   |   |     |       ` ref name_28
-|     |       | |         |     |       | |     | | | |   |   |   |     ` ref name_30
-|     |       | |         |     |       | |     | | | |   |   |   ` ref name_4
-|     |       | |         |     |       | |     | | | |   |   ` def name_8
+|     |       | |         |     |       | |     | | | |   |   |   |     |       |   ` ref name_2
+|     |       | |         |     |       | |     | | | |   |   |   |     |       ` ref name_5
+|     |       | |         |     |       | |     | | | |   |   |   |     ` ref name_7
+|     |       | |         |     |       | |     | | | |   |   |   ` ref name_11
+|     |       | |         |     |       | |     | | | |   |   ` def name_14
 |     |       | |         |     |       | |     | | | |   |     ` <*>
 |     |       | |         |     |       | |     | | | |   |       + <*>
 |     |       | |         |     |       | |     | | | |   |       | + <*>
 |     |       | |         |     |       | |     | | | |   |       | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       | ` def name_20
+|     |       | |         |     |       | |     | | | |   |       | ` def name_25
 |     |       | |         |     |       | |     | | | |   |       |   ` <|>
 |     |       | |         |     |       | |     | | | |   |       |     + <|>
 |     |       | |         |     |       | |     | | | |   |       |     | + <*>
 |     |       | |         |     |       | |     | | | |   |       |     | | |   | + <*>
 |     |       | |         |     |       | |     | | | |   |       |     | | |   | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     | | |   | | ` pure '0'
-|     |       | |         |     |       | |     | | | |   |       |     | | |   | ` ref name_5
+|     |       | |         |     |       | |     | | | |   |       |     | | |   | ` ref name_2
 |     |       | |         |     |       | |     | | | |   |       |     | | |   ` <*>
 |     |       | |         |     |       | |     | | | |   |       |     | | |     + <*>
 |     |       | |         |     |       | |     | | | |   |       |     | | |     | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     | | |     | ` pure '1'
-|     |       | |         |     |       | |     | | | |   |       |     | | |     ` ref name_5
-|     |       | |         |     |       | |     | | | |   |       |     | | ` ref name_4
+|     |       | |         |     |       | |     | | | |   |       |     | | |     ` ref name_2
+|     |       | |         |     |       | |     | | | |   |       |     | | ` ref name_11
 |     |       | |         |     |       | |     | | | |   |       |     | ` <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     |   |   |   + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |   |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     |   |   |   | ` pure '\''
-|     |       | |         |     |       | |     | | | |   |       |     |   |   |   ` ref name_5
+|     |       | |         |     |       | |     | | | |   |       |     |   |   |   ` ref name_2
 |     |       | |         |     |       | |     | | | |   |       |     |   |   ` <|>
 |     |       | |         |     |       | |     | | | |   |       |     |   |     + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |     | + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |     | | + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |     | | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     |   |     | | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       |     |   |     | | ` ref name_5
-|     |       | |         |     |       | |     | | | |   |       |     |   |     | ` ref name_21
+|     |       | |         |     |       | |     | | | |   |       |     |   |     | | ` ref name_2
+|     |       | |         |     |       | |     | | | |   |       |     |   |     | ` ref name_27
 |     |       | |         |     |       | |     | | | |   |       |     |   |     ` <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |       + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |       | + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |       |   + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |       |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     |   |       |   | ` pure '\\'
-|     |       | |         |     |       | |     | | | |   |       |     |   |       |   ` ref name_5
+|     |       | |         |     |       | |     | | | |   |       |     |   |       |   ` ref name_2
 |     |       | |         |     |       | |     | | | |   |       |     |   |       ` <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |         + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |         | + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |   |         | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     |   |         | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       |     |   |         | ` ref name_5
-|     |       | |         |     |       | |     | | | |   |       |     |   |         ` ref name_21
+|     |       | |         |     |       | |     | | | |   |       |     |   |         | ` ref name_2
+|     |       | |         |     |       | |     | | | |   |       |     |   |         ` ref name_27
 |     |       | |         |     |       | |     | | | |   |       |     |   ` <*>
 |     |       | |         |     |       | |     | | | |   |       |     |     + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |     | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     |     |   + <*>
 |     |       | |         |     |       | |     | | | |   |       |     |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |     |     |   | ` pure '\''
-|     |       | |         |     |       | |     | | | |   |       |     |     |   ` ref name_5
-|     |       | |         |     |       | |     | | | |   |       |     |     ` ref name_4
+|     |       | |         |     |       | |     | | | |   |       |     |     |   ` ref name_2
+|     |       | |         |     |       | |     | | | |   |       |     |     ` ref name_11
 |     |       | |         |     |       | |     | | | |   |       |     ` <*>
 |     |       | |         |     |       | |     | | | |   |       |       + <*>
 |     |       | |         |     |       | |     | | | |   |       |       | + <*>
 |     |       | |         |     |       | |     | | | |   |       |       | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |       | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       |       | ` ref name_2
+|     |       | |         |     |       | |     | | | |   |       |       | ` ref name_9
 |     |       | |         |     |       | |     | | | |   |       |       ` <|>
 |     |       | |         |     |       | |     | | | |   |       |         + <*>
 |     |       | |         |     |       | |     | | | |   |       |         | + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |   | + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |   | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |         |   | |   | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       |         |   | |   | ` ref name_12
+|     |       | |         |     |       | |     | | | |   |       |         |   | |   | ` ref name_18
 |     |       | |         |     |       | |     | | | |   |       |         |   | |   ` <|>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     | + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | ` rec name_8
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |   | ` rec name_14
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |   ` <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     | + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     | ` <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   | ` ref name_21
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   ` def name_9
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   | ` ref name_27
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |   ` def name_17
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |     ` <|>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | | ` <*>
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |   + ref name_29
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |   + ref name_6
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |   ` <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | + <*>
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | ` ref name_18
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     ` rec name_8
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | ` rec name_9
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     | ` ref name_23
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | |     ` rec name_14
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       | ` rec name_17
 |     |       | |         |     |       | |     | | | |   |       |         |   | |     |     |       ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     ` ref name_21
-|     |       | |         |     |       | |     | | | |   |       |         |   | |     ` ref name_21
-|     |       | |         |     |       | |     | | | |   |       |         |   | ` ref name_1
-|     |       | |         |     |       | |     | | | |   |       |         |   ` ref name_13
-|     |       | |         |     |       | |     | | | |   |       |         ` ref name_21
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     |     ` ref name_27
+|     |       | |         |     |       | |     | | | |   |       |         |   | |     ` ref name_27
+|     |       | |         |     |       | |     | | | |   |       |         |   | ` ref name_8
+|     |       | |         |     |       | |     | | | |   |       |         |   ` ref name_19
+|     |       | |         |     |       | |     | | | |   |       |         ` ref name_27
 |     |       | |         |     |       | |     | | | |   |       ` <*>
 |     |       | |         |     |       | |     | | | |   |         + <*>
 |     |       | |         |     |       | |     | | | |   |         | + <*>
 |     |       | |         |     |       | |     | | | |   |         | ` <*>
 |     |       | |         |     |       | |     | | | |   |         |   + <*>
 |     |       | |         |     |       | |     | | | |   |         |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |       | |         |     |       | |     | | | |   |         |   | ` ref name_21
-|     |       | |         |     |       | |     | | | |   |         |   ` def name_16
+|     |       | |         |     |       | |     | | | |   |         |   | ` ref name_27
+|     |       | |         |     |       | |     | | | |   |         |   ` def name_22
 |     |       | |         |     |       | |     | | | |   |         |     ` <|>
 |     |       | |         |     |       | |     | | | |   |         |       + <*>
 |     |       | |         |     |       | |     | | | |   |         |       | + <*>
 |     |       | |         |     |       | |     | | | |   |         |       | |     |   |   + <*>
 |     |       | |         |     |       | |     | | | |   |         |       | |     |   |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | | |   |         |       | |     |   |   | ` pure '!'
-|     |       | |         |     |       | |     | | | |   |         |       | |     |   |   ` ref name_5
-|     |       | |         |     |       | |     | | | |   |         |       | |     |   ` ref name_4
-|     |       | |         |     |       | |     | | | |   |         |       | |     ` ref name_20
-|     |       | |         |     |       | |     | | | |   |         |       | ` rec name_16
+|     |       | |         |     |       | |     | | | |   |         |       | |     |   |   ` ref name_2
+|     |       | |         |     |       | |     | | | |   |         |       | |     |   ` ref name_11
+|     |       | |         |     |       | |     | | | |   |         |       | |     ` ref name_25
+|     |       | |         |     |       | |     | | | |   |         |       | ` rec name_22
 |     |       | |         |     |       | |     | | | |   |         |       ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     | | | |   |         ` ref name_21
-|     |       | |         |     |       | |     | | | |   ` rec name_19
+|     |       | |         |     |       | |     | | | |   |         ` ref name_27
+|     |       | |         |     |       | |     | | | |   ` rec name_24
 |     |       | |         |     |       | |     | | | ` <|>
 |     |       | |         |     |       | |     | | |   + <*>
 |     |       | |         |     |       | |     | | |   | + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |     |   + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | |   |   |   |     |     |   | ` pure 'e'
-|     |       | |         |     |       | |     | | |   |   |   |     |     |   ` ref name_5
+|     |       | |         |     |       | |     | | |   |   |   |     |     |   ` ref name_2
 |     |       | |         |     |       | |     | | |   |   |   |     |     ` <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |       + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |       | + pure cons
 |     |       | |         |     |       | |     | | |   |   |   |     |       |   + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | |   |   |   |     |       |   | ` pure 'l'
-|     |       | |         |     |       | |     | | |   |   |   |     |       |   ` ref name_5
+|     |       | |         |     |       | |     | | |   |   |   |     |       |   ` ref name_2
 |     |       | |         |     |       | |     | | |   |   |   |     |       ` <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |         + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |         | + pure cons
 |     |       | |         |     |       | |     | | |   |   |   |     |         |   + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | |   |   |   |     |         |   | ` pure 's'
-|     |       | |         |     |       | |     | | |   |   |   |     |         |   ` ref name_5
+|     |       | |         |     |       | |     | | |   |   |   |     |         |   ` ref name_2
 |     |       | |         |     |       | |     | | |   |   |   |     |         ` <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |           + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |           | + pure cons
 |     |       | |         |     |       | |     | | |   |   |   |     |           |   + <*>
 |     |       | |         |     |       | |     | | |   |   |   |     |           |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | | |   |   |   |     |           |   | ` pure 'e'
-|     |       | |         |     |       | |     | | |   |   |   |     |           |   ` ref name_5
-|     |       | |         |     |       | |     | | |   |   |   |     |           ` ref name_28
-|     |       | |         |     |       | |     | | |   |   |   |     ` ref name_30
-|     |       | |         |     |       | |     | | |   |   |   ` ref name_4
-|     |       | |         |     |       | |     | | |   |   ` rec name_19
-|     |       | |         |     |       | |     | | |   ` ref name_21
+|     |       | |         |     |       | |     | | |   |   |   |     |           |   ` ref name_2
+|     |       | |         |     |       | |     | | |   |   |   |     |           ` ref name_5
+|     |       | |         |     |       | |     | | |   |   |   |     ` ref name_7
+|     |       | |         |     |       | |     | | |   |   |   ` ref name_11
+|     |       | |         |     |       | |     | | |   |   ` rec name_24
+|     |       | |         |     |       | |     | | |   ` ref name_27
 |     |       | |         |     |       | |     | | ` <*>
 |     |       | |         |     |       | |     | |   + <*>
 |     |       | |         |     |       | |     | |   | + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |     |   + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | |   |   |   |     |     |   | ` pure 'w'
-|     |       | |         |     |       | |     | |   |   |   |     |     |   ` ref name_5
+|     |       | |         |     |       | |     | |   |   |   |     |     |   ` ref name_2
 |     |       | |         |     |       | |     | |   |   |   |     |     ` <*>
 |     |       | |         |     |       | |     | |   |   |   |     |       + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |       | + pure cons
 |     |       | |         |     |       | |     | |   |   |   |     |       |   + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | |   |   |   |     |       |   | ` pure 'h'
-|     |       | |         |     |       | |     | |   |   |   |     |       |   ` ref name_5
+|     |       | |         |     |       | |     | |   |   |   |     |       |   ` ref name_2
 |     |       | |         |     |       | |     | |   |   |   |     |       ` <*>
 |     |       | |         |     |       | |     | |   |   |   |     |         + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |         | + pure cons
 |     |       | |         |     |       | |     | |   |   |   |     |         |   + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | |   |   |   |     |         |   | ` pure 'i'
-|     |       | |         |     |       | |     | |   |   |   |     |         |   ` ref name_5
+|     |       | |         |     |       | |     | |   |   |   |     |         |   ` ref name_2
 |     |       | |         |     |       | |     | |   |   |   |     |         ` <*>
 |     |       | |         |     |       | |     | |   |   |   |     |           + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |           | + pure cons
 |     |       | |         |     |       | |     | |   |   |   |     |           |   + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |           |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | |   |   |   |     |           |   | ` pure 'l'
-|     |       | |         |     |       | |     | |   |   |   |     |           |   ` ref name_5
+|     |       | |         |     |       | |     | |   |   |   |     |           |   ` ref name_2
 |     |       | |         |     |       | |     | |   |   |   |     |           ` <*>
 |     |       | |         |     |       | |     | |   |   |   |     |             + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |             | + pure cons
 |     |       | |         |     |       | |     | |   |   |   |     |             |   + <*>
 |     |       | |         |     |       | |     | |   |   |   |     |             |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     | |   |   |   |     |             |   | ` pure 'e'
-|     |       | |         |     |       | |     | |   |   |   |     |             |   ` ref name_5
-|     |       | |         |     |       | |     | |   |   |   |     |             ` ref name_28
-|     |       | |         |     |       | |     | |   |   |   |     ` ref name_30
-|     |       | |         |     |       | |     | |   |   |   ` ref name_4
-|     |       | |         |     |       | |     | |   |   ` ref name_8
-|     |       | |         |     |       | |     | |   ` rec name_19
+|     |       | |         |     |       | |     | |   |   |   |     |             |   ` ref name_2
+|     |       | |         |     |       | |     | |   |   |   |     |             ` ref name_5
+|     |       | |         |     |       | |     | |   |   |   |     ` ref name_7
+|     |       | |         |     |       | |     | |   |   |   ` ref name_11
+|     |       | |         |     |       | |     | |   |   ` ref name_14
+|     |       | |         |     |       | |     | |   ` rec name_24
 |     |       | |         |     |       | |     | ` try
 |     |       | |         |     |       | |     |   ` <*>
 |     |       | |         |     |       | |     |     + <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   + <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   | ` pure 'v'
-|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   ` ref name_5
+|     |       | |         |     |       | |     |     |   |   |   |   |   |     |     |   ` ref name_2
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |     ` <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |       + <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |       | + pure cons
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   + <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   | ` pure 'a'
-|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   ` ref name_5
+|     |       | |         |     |       | |     |     |   |   |   |   |   |     |       |   ` ref name_2
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |       ` <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |         + <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |         | + pure cons
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   + <*>
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   | ` pure 'r'
-|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   ` ref name_5
-|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         ` ref name_28
-|     |       | |         |     |       | |     |     |   |   |   |   |   |     ` ref name_30
-|     |       | |         |     |       | |     |     |   |   |   |   |   ` ref name_4
-|     |       | |         |     |       | |     |     |   |   |   |   ` ref name_21
+|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         |   ` ref name_2
+|     |       | |         |     |       | |     |     |   |   |   |   |   |     |         ` ref name_5
+|     |       | |         |     |       | |     |     |   |   |   |   |   |     ` ref name_7
+|     |       | |         |     |       | |     |     |   |   |   |   |   ` ref name_11
+|     |       | |         |     |       | |     |     |   |   |   |   ` ref name_27
 |     |       | |         |     |       | |     |     |   |   |   ` <*>
 |     |       | |         |     |       | |     |     |   |   |     + <*>
 |     |       | |         |     |       | |     |     |   |   |     | + <*>
 |     |       | |         |     |       | |     |     |   |   |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |   |   |     | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     |     |   |   |     | ` ref name_24
+|     |       | |         |     |       | |     |     |   |   |     | ` ref name_30
 |     |       | |         |     |       | |     |     |   |   |     ` <*>
 |     |       | |         |     |       | |     |     |   |   |       + <*>
 |     |       | |         |     |       | |     |     |   |   |       | + <*>
 |     |       | |         |     |       | |     |     |   |   |       | ` <*>
 |     |       | |         |     |       | |     |     |   |   |       |   + <*>
 |     |       | |         |     |       | |     |     |   |   |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |       | |         |     |       | |     |     |   |   |       |   | ` ref name_21
-|     |       | |         |     |       | |     |     |   |   |       |   ` def name_26
+|     |       | |         |     |       | |     |     |   |   |       |   | ` ref name_27
+|     |       | |         |     |       | |     |     |   |   |       |   ` def name_3
 |     |       | |         |     |       | |     |     |   |   |       |     ` <|>
 |     |       | |         |     |       | |     |     |   |   |       |       + <*>
 |     |       | |         |     |       | |     |     |   |   |       |       | + <*>
 |     |       | |         |     |       | |     |     |   |   |       |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
 |     |       | |         |     |       | |     |     |   |   |       |       | | ` <*>
-|     |       | |         |     |       | |     |     |   |   |       |       | |   + ref name_29
+|     |       | |         |     |       | |     |     |   |   |       |       | |   + ref name_6
 |     |       | |         |     |       | |     |     |   |   |       |       | |   ` <*>
 |     |       | |         |     |       | |     |     |   |   |       |       | |     + <*>
 |     |       | |         |     |       | |     |     |   |   |       |       | |     | + <*>
 |     |       | |         |     |       | |     |     |   |   |       |       | |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |   |   |       |       | |     | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     |     |   |   |       |       | |     | ` ref name_18
-|     |       | |         |     |       | |     |     |   |   |       |       | |     ` ref name_24
-|     |       | |         |     |       | |     |     |   |   |       |       | ` rec name_26
+|     |       | |         |     |       | |     |     |   |   |       |       | |     | ` ref name_23
+|     |       | |         |     |       | |     |     |   |   |       |       | |     ` ref name_30
+|     |       | |         |     |       | |     |     |   |   |       |       | ` rec name_3
 |     |       | |         |     |       | |     |     |   |   |       |       ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     |     |   |   |       ` ref name_21
+|     |       | |         |     |       | |     |     |   |   |       ` ref name_27
 |     |       | |         |     |       | |     |     |   |   ` <*>
 |     |       | |         |     |       | |     |     |   |     + <*>
 |     |       | |         |     |       | |     |     |   |     | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |   |     |   + <*>
 |     |       | |         |     |       | |     |     |   |     |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |   |     |   | ` pure '='
-|     |       | |         |     |       | |     |     |   |     |   ` ref name_5
-|     |       | |         |     |       | |     |     |   |     ` ref name_4
+|     |       | |         |     |       | |     |     |   |     |   ` ref name_2
+|     |       | |         |     |       | |     |     |   |     ` ref name_11
 |     |       | |         |     |       | |     |     |   ` <*>
 |     |       | |         |     |       | |     |     |     + <*>
 |     |       | |         |     |       | |     |     |     | + <*>
 |     |       | |         |     |       | |     |     |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |     | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     |     |     | ` ref name_8
+|     |       | |         |     |       | |     |     |     | ` ref name_14
 |     |       | |         |     |       | |     |     |     ` <*>
 |     |       | |         |     |       | |     |     |       + <*>
 |     |       | |         |     |       | |     |     |       | + <*>
 |     |       | |         |     |       | |     |     |       | ` <*>
 |     |       | |         |     |       | |     |     |       |   + <*>
 |     |       | |         |     |       | |     |     |       |   | + pure ((\u1 -> (\u2 -> (\u3 -> (u1 u3) u2))) (\u1 -> (\u2 -> u1 u2)))
-|     |       | |         |     |       | |     |     |       |   | ` ref name_21
-|     |       | |         |     |       | |     |     |       |   ` def name_25
+|     |       | |         |     |       | |     |     |       |   | ` ref name_27
+|     |       | |         |     |       | |     |     |       |   ` def name_1
 |     |       | |         |     |       | |     |     |       |     ` <|>
 |     |       | |         |     |       | |     |     |       |       + <*>
 |     |       | |         |     |       | |     |     |       |       | + <*>
 |     |       | |         |     |       | |     |     |       |       | | + pure (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3))))
 |     |       | |         |     |       | |     |     |       |       | | ` <*>
-|     |       | |         |     |       | |     |     |       |       | |   + ref name_29
+|     |       | |         |     |       | |     |     |       |       | |   + ref name_6
 |     |       | |         |     |       | |     |     |       |       | |   ` <*>
 |     |       | |         |     |       | |     |     |       |       | |     + <*>
 |     |       | |         |     |       | |     |     |       |       | |     | + <*>
 |     |       | |         |     |       | |     |     |       |       | |     | | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |     |       |       | |     | | ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     |     |       |       | |     | ` ref name_18
-|     |       | |         |     |       | |     |     |       |       | |     ` ref name_8
-|     |       | |         |     |       | |     |     |       |       | ` rec name_25
+|     |       | |         |     |       | |     |     |       |       | |     | ` ref name_23
+|     |       | |         |     |       | |     |     |       |       | |     ` ref name_14
+|     |       | |         |     |       | |     |     |       |       | ` rec name_1
 |     |       | |         |     |       | |     |     |       |       ` pure (\u1 -> u1)
-|     |       | |         |     |       | |     |     |       ` ref name_21
-|     |       | |         |     |       | |     |     ` def name_15
+|     |       | |         |     |       | |     |     |       ` ref name_27
+|     |       | |         |     |       | |     |     ` def name_21
 |     |       | |         |     |       | |     |       ` <*>
 |     |       | |         |     |       | |     |         + <*>
 |     |       | |         |     |       | |     |         | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |         |   + <*>
 |     |       | |         |     |       | |     |         |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |         |     |       | |     |         |   | ` pure ';'
-|     |       | |         |     |       | |     |         |   ` ref name_5
-|     |       | |         |     |       | |     |         ` ref name_4
+|     |       | |         |     |       | |     |         |   ` ref name_2
+|     |       | |         |     |       | |     |         ` ref name_11
 |     |       | |         |     |       | |     ` <*>
 |     |       | |         |     |       | |       + <*>
 |     |       | |         |     |       | |       | + pure (\u1 -> (\u2 -> u1))
-|     |       | |         |     |       | |       | ` ref name_8
-|     |       | |         |     |       | |       ` ref name_15
-|     |       | |         |     |       | ` rec name_27
+|     |       | |         |     |       | |       | ` ref name_14
+|     |       | |         |     |       | |       ` ref name_21
+|     |       | |         |     |       | ` rec name_4
 |     |       | |         |     |       ` pure (\u1 -> u1)
-|     |       | |         |     ` ref name_21
+|     |       | |         |     ` ref name_27
 |     |       | |         ` <*>
 |     |       | |           + <*>
 |     |       | |           | + pure (\u1 -> (\u2 -> u1))
 |     |       | |           |   + <*>
 |     |       | |           |   | + pure (\u1 -> (\u2 -> u1))
 |     |       | |           |   | ` pure '}'
-|     |       | |           |   ` ref name_5
-|     |       | |           ` ref name_4
-|     |       | ` rec name_10
+|     |       | |           |   ` ref name_2
+|     |       | |           ` ref name_11
+|     |       | ` rec name_15
 |     |       ` pure (\u1 -> u1)
-|     ` ref name_21
+|     ` ref name_27
 ` eof