{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -fplugin Test.Inspection.Plugin #-}
module MutualRecursion where
import System.Exit
import Test.Inspection
inf = go0
where
go0 = 'a' : go1
go1 = 'b' : go2
go2 = 'c' : go0
inf' = go0
where
go1 = 'b' : go2
go0 = 'a' : go1
go2 = 'c' : go0
inf2' = go0
where
go1 = 'b' : go2
go2 = 'c' : go0
go0 = 'a' : go1
inf3' = go0
where
go0 = 'a' : go1
go1 = 'b' : go2
go2 = 'c' : go0
inspect $ 'inf === 'inf'
inspect $ 'inf === 'inf2'
inspect $ 'inf === 'inf3'
letrec =
let go0 = 'a' : go1
go1 = 'b' : go2
go2 = 'c' : go0
in go0
letrec' =
let go1 = 'b' : go2
go0 = 'a' : go1
go2 = 'c' : go0
in go0
letrec2' =
let go1 = 'b' : go2
go2 = 'c' : go0
go0 = 'a' : go1
in go0
letrec3' =
let go0 = 'a' : go1
go1 = 'b' : go2
go2 = 'c' : go0
in go0
inspect $ 'letrec === 'letrec'
inspect $ 'letrec === 'letrec2'
inspect $ 'letrec === 'letrec3'
something_else =
let go0 = 'a' : go1
go1 = 'b' : go0
go2 = 'c' : go0
in go0
inspect $ 'letrec =/= 'something_else
-- | Test to make sure we don't have any aggressively worst-case behavior.
bigletrec =
let go0 = '\x0' : go1
go1 = '\x1' : go2
go2 = '\x2' : go3
go3 = '\x3' : go4
go4 = '\x4' : go5
go5 = '\x5' : go6
go6 = '\x6' : go7
go7 = '\x7' : go8
go8 = '\x8' : go9
go9 = '\x9' : go10
go10 = '\x10' : go11
go11 = '\x11' : go12
go12 = '\x12' : go13
go13 = '\x13' : go14
go14 = '\x14' : go15
go15 = '\x15' : go16
go16 = '\x16' : go17
go17 = '\x17' : go18
go18 = '\x18' : go19
go19 = '\x19' : go20
go20 = '\x20' : go21
go21 = '\x21' : go22
go22 = '\x22' : go23
go23 = '\x23' : go24
go24 = '\x24' : go25
go25 = '\x25' : go26
go26 = '\x26' : go27
go27 = '\x27' : go28
go28 = '\x28' : go29
go29 = '\x29' : go30
go30 = '\x30' : go31
go31 = '\x31' : go32
go32 = '\x32' : go33
go33 = '\x33' : go34
go34 = '\x34' : go35
go35 = '\x35' : go36
go36 = '\x36' : go37
go37 = '\x37' : go38
go38 = '\x38' : go39
go39 = '\x39' : go40
go40 = '\x40' : go41
go41 = '\x41' : go42
go42 = '\x42' : go43
go43 = '\x43' : go44
go44 = '\x44' : go45
go45 = '\x45' : go46
go46 = '\x46' : go47
go47 = '\x47' : go48
go48 = '\x48' : go49
go49 = '\x49' : go50
go50 = '\x50' : go51
go51 = '\x51' : go52
go52 = '\x52' : go53
go53 = '\x53' : go54
go54 = '\x54' : go55
go55 = '\x55' : go56
go56 = '\x56' : go57
go57 = '\x57' : go58
go58 = '\x58' : go59
go59 = '\x59' : go60
go60 = '\x60' : go61
go61 = '\x61' : go62
go62 = '\x62' : go63
go63 = '\x63' : go64
go64 = '\x64' : go65
go65 = '\x65' : go66
go66 = '\x66' : go67
go67 = '\x67' : go68
go68 = '\x68' : go69
go69 = '\x69' : go70
go70 = '\x70' : go71
go71 = '\x71' : go72
go72 = '\x72' : go73
go73 = '\x73' : go74
go74 = '\x74' : go75
go75 = '\x75' : go76
go76 = '\x76' : go77
go77 = '\x77' : go78
go78 = '\x78' : go79
go79 = '\x79' : go80
go80 = '\x80' : go81
go81 = '\x81' : go82
go82 = '\x82' : go83
go83 = '\x83' : go84
go84 = '\x84' : go85
go85 = '\x85' : go86
go86 = '\x86' : go87
go87 = '\x87' : go88
go88 = '\x88' : go89
go89 = '\x89' : go90
go90 = '\x90' : go91
go91 = '\x91' : go92
go92 = '\x92' : go93
go93 = '\x93' : go94
go94 = '\x94' : go95
go95 = '\x95' : go96
go96 = '\x96' : go97
go97 = '\x97' : go98
go98 = '\x98' : go99
go99 = '\x99' : go100
go100 = '\x100' : go101
go101 = '\x101' : go102
go102 = '\x102' : go103
go103 = '\x103' : go104
go104 = '\x104' : go105
go105 = '\x105' : go106
go106 = '\x106' : go107
go107 = '\x107' : go108
go108 = '\x108' : go109
go109 = '\x109' : go110
go110 = '\x110' : go111
go111 = '\x111' : go112
go112 = '\x112' : go113
go113 = '\x113' : go114
go114 = '\x114' : go115
go115 = '\x115' : go116
go116 = '\x116' : go117
go117 = '\x117' : go118
go118 = '\x118' : go119
go119 = '\x119' : go120
go120 = '\x120' : go121
go121 = '\x121' : go122
go122 = '\x122' : go123
go123 = '\x123' : go124
go124 = '\x124' : go125
go125 = '\x125' : go126
go126 = '\x126' : go127
go127 = '\x127' : go128
go128 = '\x128' : go129
go129 = '\x129' : go130
go130 = '\x130' : go131
go131 = '\x131' : go132
go132 = '\x132' : go133
go133 = '\x133' : go134
go134 = '\x134' : go135
go135 = '\x135' : go136
go136 = '\x136' : go137
go137 = '\x137' : go138
go138 = '\x138' : go139
go139 = '\x139' : go140
go140 = '\x140' : go141
go141 = '\x141' : go142
go142 = '\x142' : go143
go143 = '\x143' : go144
go144 = '\x144' : go145
go145 = '\x145' : go146
go146 = '\x146' : go147
go147 = '\x147' : go148
go148 = '\x148' : go149
go149 = '\x149' : go150
go150 = '\x150' : go151
go151 = '\x151' : go152
go152 = '\x152' : go153
go153 = '\x153' : go154
go154 = '\x154' : go155
go155 = '\x155' : go156
go156 = '\x156' : go157
go157 = '\x157' : go158
go158 = '\x158' : go159
go159 = '\x159' : go160
go160 = '\x160' : go161
go161 = '\x161' : go162
go162 = '\x162' : go163
go163 = '\x163' : go164
go164 = '\x164' : go165
go165 = '\x165' : go166
go166 = '\x166' : go167
go167 = '\x167' : go168
go168 = '\x168' : go169
go169 = '\x169' : go170
go170 = '\x170' : go171
go171 = '\x171' : go172
go172 = '\x172' : go173
go173 = '\x173' : go174
go174 = '\x174' : go175
go175 = '\x175' : go176
go176 = '\x176' : go177
go177 = '\x177' : go178
go178 = '\x178' : go179
go179 = '\x179' : go180
go180 = '\x180' : go181
go181 = '\x181' : go182
go182 = '\x182' : go183
go183 = '\x183' : go184
go184 = '\x184' : go185
go185 = '\x185' : go186
go186 = '\x186' : go187
go187 = '\x187' : go188
go188 = '\x188' : go189
go189 = '\x189' : go190
go190 = '\x190' : go191
go191 = '\x191' : go192
go192 = '\x192' : go193
go193 = '\x193' : go194
go194 = '\x194' : go195
go195 = '\x195' : go196
go196 = '\x196' : go197
go197 = '\x197' : go198
go198 = '\x198' : go199
go199 = '\x199' : go200
go200 = '\x200' : go201
go201 = '\x201' : go202
go202 = '\x202' : go203
go203 = '\x203' : go204
go204 = '\x204' : go205
go205 = '\x205' : go206
go206 = '\x206' : go207
go207 = '\x207' : go208
go208 = '\x208' : go209
go209 = '\x209' : go210
go210 = '\x210' : go211
go211 = '\x211' : go212
go212 = '\x212' : go213
go213 = '\x213' : go214
go214 = '\x214' : go215
go215 = '\x215' : go216
go216 = '\x216' : go217
go217 = '\x217' : go218
go218 = '\x218' : go219
go219 = '\x219' : go220
go220 = '\x220' : go221
go221 = '\x221' : go222
go222 = '\x222' : go223
go223 = '\x223' : go224
go224 = '\x224' : go225
go225 = '\x225' : go226
go226 = '\x226' : go227
go227 = '\x227' : go228
go228 = '\x228' : go229
go229 = '\x229' : go230
go230 = '\x230' : go231
go231 = '\x231' : go232
go232 = '\x232' : go233
go233 = '\x233' : go234
go234 = '\x234' : go235
go235 = '\x235' : go236
go236 = '\x236' : go237
go237 = '\x237' : go238
go238 = '\x238' : go239
go239 = '\x239' : go240
go240 = '\x240' : go241
go241 = '\x241' : go242
go242 = '\x242' : go243
go243 = '\x243' : go244
go244 = '\x244' : go245
go245 = '\x245' : go246
go246 = '\x246' : go247
go247 = '\x247' : go248
go248 = '\x248' : go249
go249 = '\x249' : go250
go250 = '\x250' : go251
go251 = '\x251' : go252
go252 = '\x252' : go253
go253 = '\x253' : go254
go254 = '\x254' : go255
go255 = '\x255' : go256
go256 = '\x256' : go0
in go0
bigletrec' =
let go0 = '\x0' : go1
go1 = '\x1' : go2
go2 = '\x2' : go3
go3 = '\x3' : go4
go4 = '\x4' : go5
go5 = '\x5' : go6
go6 = '\x6' : go7
go7 = '\x7' : go8
go8 = '\x8' : go9
go9 = '\x9' : go10
go10 = '\x10' : go11
go11 = '\x11' : go12
go12 = '\x12' : go13
go13 = '\x13' : go14
go14 = '\x14' : go15
go15 = '\x15' : go16
go16 = '\x16' : go17
go17 = '\x17' : go18
go18 = '\x18' : go19
go19 = '\x19' : go20
go20 = '\x20' : go21
go21 = '\x21' : go22
go22 = '\x22' : go23
go23 = '\x23' : go24
go24 = '\x24' : go25
go25 = '\x25' : go26
go26 = '\x26' : go27
go27 = '\x27' : go28
go28 = '\x28' : go29
go29 = '\x29' : go30
go30 = '\x30' : go31
go31 = '\x31' : go32
go32 = '\x32' : go33
go33 = '\x33' : go34
go34 = '\x34' : go35
go35 = '\x35' : go36
go36 = '\x36' : go37
go37 = '\x37' : go38
go38 = '\x38' : go39
go39 = '\x39' : go40
go40 = '\x40' : go41
go41 = '\x41' : go42
go42 = '\x42' : go43
go43 = '\x43' : go44
go44 = '\x44' : go45
go45 = '\x45' : go46
go46 = '\x46' : go47
go47 = '\x47' : go48
go48 = '\x48' : go49
go49 = '\x49' : go50
go50 = '\x50' : go51
go51 = '\x51' : go52
go52 = '\x52' : go53
go53 = '\x53' : go54
go54 = '\x54' : go55
go55 = '\x55' : go56
go56 = '\x56' : go57
go57 = '\x57' : go58
go58 = '\x58' : go59
go59 = '\x59' : go60
go60 = '\x60' : go61
go61 = '\x61' : go62
go62 = '\x62' : go63
go63 = '\x63' : go64
go64 = '\x64' : go65
go65 = '\x65' : go66
go66 = '\x66' : go67
go67 = '\x67' : go68
go68 = '\x68' : go69
go69 = '\x69' : go70
go70 = '\x70' : go71
go71 = '\x71' : go72
go72 = '\x72' : go73
go73 = '\x73' : go74
go74 = '\x74' : go75
go75 = '\x75' : go76
go76 = '\x76' : go77
go77 = '\x77' : go78
go78 = '\x78' : go79
go79 = '\x79' : go80
go80 = '\x80' : go81
go81 = '\x81' : go82
go82 = '\x82' : go83
go83 = '\x83' : go84
go84 = '\x84' : go85
go85 = '\x85' : go86
go86 = '\x86' : go87
go87 = '\x87' : go88
go88 = '\x88' : go89
go89 = '\x89' : go90
go90 = '\x90' : go91
go91 = '\x91' : go92
go92 = '\x92' : go93
go93 = '\x93' : go94
go94 = '\x94' : go95
go95 = '\x95' : go96
go96 = '\x96' : go97
go97 = '\x97' : go98
go98 = '\x98' : go99
go99 = '\x99' : go100
go100 = '\x100' : go101
go101 = '\x101' : go102
go102 = '\x102' : go103
go103 = '\x103' : go104
go104 = '\x104' : go105
go105 = '\x105' : go106
go106 = '\x106' : go107
go107 = '\x107' : go108
go108 = '\x108' : go109
go109 = '\x109' : go110
go110 = '\x110' : go111
go111 = '\x111' : go112
go112 = '\x112' : go113
go113 = '\x113' : go114
go114 = '\x114' : go115
go115 = '\x115' : go116
go116 = '\x116' : go117
go117 = '\x117' : go118
go118 = '\x118' : go119
go119 = '\x119' : go120
go120 = '\x120' : go121
go121 = '\x121' : go122
go122 = '\x122' : go123
go123 = '\x123' : go124
go124 = '\x124' : go125
go125 = '\x125' : go126
go126 = '\x126' : go127
go127 = '\x127' : go128
go128 = '\x128' : go129
go129 = '\x129' : go130
go130 = '\x130' : go131
go131 = '\x131' : go132
go132 = '\x132' : go133
go133 = '\x133' : go134
go134 = '\x134' : go135
go135 = '\x135' : go136
go136 = '\x136' : go137
go137 = '\x137' : go138
go138 = '\x138' : go139
go139 = '\x139' : go140
go140 = '\x140' : go141
go141 = '\x141' : go142
go142 = '\x142' : go143
go143 = '\x143' : go144
go144 = '\x144' : go145
go145 = '\x145' : go146
go146 = '\x146' : go147
go147 = '\x147' : go148
go148 = '\x148' : go149
go149 = '\x149' : go150
go150 = '\x150' : go151
go151 = '\x151' : go152
go152 = '\x152' : go153
go153 = '\x153' : go154
go154 = '\x154' : go155
go155 = '\x155' : go156
go156 = '\x156' : go157
go157 = '\x157' : go158
go158 = '\x158' : go159
go159 = '\x159' : go160
go160 = '\x160' : go161
go161 = '\x161' : go162
go162 = '\x162' : go163
go163 = '\x163' : go164
go164 = '\x164' : go165
go165 = '\x165' : go166
go166 = '\x166' : go167
go167 = '\x167' : go168
go168 = '\x168' : go169
go169 = '\x169' : go170
go170 = '\x170' : go171
go171 = '\x171' : go172
go172 = '\x172' : go173
go173 = '\x173' : go174
go174 = '\x174' : go175
go175 = '\x175' : go176
go176 = '\x176' : go177
go177 = '\x177' : go178
go178 = '\x178' : go179
go179 = '\x179' : go180
go180 = '\x180' : go181
go181 = '\x181' : go182
go182 = '\x182' : go183
go183 = '\x183' : go184
go184 = '\x184' : go185
go185 = '\x185' : go186
go186 = '\x186' : go187
go187 = '\x187' : go188
go188 = '\x188' : go189
go189 = '\x189' : go190
go190 = '\x190' : go191
go191 = '\x191' : go192
go192 = '\x192' : go193
go193 = '\x193' : go194
go194 = '\x194' : go195
go195 = '\x195' : go196
go196 = '\x196' : go197
go197 = '\x197' : go198
go198 = '\x198' : go199
go199 = '\x199' : go200
go200 = '\x200' : go201
go201 = '\x201' : go202
go202 = '\x202' : go203
go203 = '\x203' : go204
go204 = '\x204' : go205
go205 = '\x205' : go206
go206 = '\x206' : go207
go207 = '\x207' : go208
go208 = '\x208' : go209
go209 = '\x209' : go210
go210 = '\x210' : go211
go211 = '\x211' : go212
go212 = '\x212' : go213
go213 = '\x213' : go214
go214 = '\x214' : go215
go215 = '\x215' : go216
go216 = '\x216' : go217
go217 = '\x217' : go218
go218 = '\x218' : go219
go219 = '\x219' : go220
go220 = '\x220' : go221
go221 = '\x221' : go222
go222 = '\x222' : go223
go223 = '\x223' : go224
go224 = '\x224' : go225
go225 = '\x225' : go226
go226 = '\x226' : go227
go227 = '\x227' : go228
go228 = '\x228' : go229
go229 = '\x229' : go230
go230 = '\x230' : go231
go231 = '\x231' : go232
go232 = '\x232' : go233
go233 = '\x233' : go234
go234 = '\x234' : go235
go235 = '\x235' : go236
go236 = '\x236' : go237
go237 = '\x237' : go238
go238 = '\x238' : go239
go239 = '\x239' : go240
go240 = '\x240' : go241
go241 = '\x241' : go242
go242 = '\x242' : go243
go243 = '\x243' : go244
go244 = '\x244' : go245
go245 = '\x245' : go246
go246 = '\x246' : go247
go247 = '\x247' : go248
go248 = '\x248' : go249
go249 = '\x249' : go250
go250 = '\x250' : go251
go251 = '\x251' : go252
go252 = '\x252' : go253
go253 = '\x253' : go254
go254 = '\x254' : go255
go255 = '\x255' : go256
go256 = '\x256' : go0
in go0
badletrec' =
let go0 = 'a' : go1
go1 = '\x1' : go2
go2 = '\x2' : go3
go3 = '\x3' : go4
go4 = '\x4' : go5
go5 = '\x5' : go6
go6 = '\x6' : go7
go7 = '\x7' : go8
go8 = '\x8' : go9
go9 = '\x9' : go10
go10 = '\x10' : go11
go11 = '\x11' : go12
go12 = '\x12' : go13
go13 = '\x13' : go14
go14 = '\x14' : go15
go15 = '\x15' : go16
go16 = '\x16' : go17
go17 = '\x17' : go18
go18 = '\x18' : go19
go19 = '\x19' : go20
go20 = '\x20' : go21
go21 = '\x21' : go22
go22 = '\x22' : go23
go23 = '\x23' : go24
go24 = '\x24' : go25
go25 = '\x25' : go26
go26 = '\x26' : go27
go27 = '\x27' : go28
go28 = '\x28' : go29
go29 = '\x29' : go30
go30 = '\x30' : go31
go31 = '\x31' : go32
go32 = '\x32' : go33
go33 = '\x33' : go34
go34 = '\x34' : go35
go35 = '\x35' : go36
go36 = '\x36' : go37
go37 = '\x37' : go38
go38 = '\x38' : go39
go39 = '\x39' : go40
go40 = '\x40' : go41
go41 = '\x41' : go42
go42 = '\x42' : go43
go43 = '\x43' : go44
go44 = '\x44' : go45
go45 = '\x45' : go46
go46 = '\x46' : go47
go47 = '\x47' : go48
go48 = '\x48' : go49
go49 = '\x49' : go50
go50 = '\x50' : go51
go51 = '\x51' : go52
go52 = '\x52' : go53
go53 = '\x53' : go54
go54 = '\x54' : go55
go55 = '\x55' : go56
go56 = '\x56' : go57
go57 = '\x57' : go58
go58 = '\x58' : go59
go59 = '\x59' : go60
go60 = '\x60' : go61
go61 = '\x61' : go62
go62 = '\x62' : go63
go63 = '\x63' : go64
go64 = '\x64' : go65
go65 = '\x65' : go66
go66 = '\x66' : go67
go67 = '\x67' : go68
go68 = '\x68' : go69
go69 = '\x69' : go70
go70 = '\x70' : go71
go71 = '\x71' : go72
go72 = '\x72' : go73
go73 = '\x73' : go74
go74 = '\x74' : go75
go75 = '\x75' : go76
go76 = '\x76' : go77
go77 = '\x77' : go78
go78 = '\x78' : go79
go79 = '\x79' : go80
go80 = '\x80' : go81
go81 = '\x81' : go82
go82 = '\x82' : go83
go83 = '\x83' : go84
go84 = '\x84' : go85
go85 = '\x85' : go86
go86 = '\x86' : go87
go87 = '\x87' : go88
go88 = '\x88' : go89
go89 = '\x89' : go90
go90 = '\x90' : go91
go91 = '\x91' : go92
go92 = '\x92' : go93
go93 = '\x93' : go94
go94 = '\x94' : go95
go95 = '\x95' : go96
go96 = '\x96' : go97
go97 = '\x97' : go98
go98 = '\x98' : go99
go99 = '\x99' : go100
go100 = '\x100' : go101
go101 = '\x101' : go102
go102 = '\x102' : go103
go103 = '\x103' : go104
go104 = '\x104' : go105
go105 = '\x105' : go106
go106 = '\x106' : go107
go107 = '\x107' : go108
go108 = '\x108' : go109
go109 = '\x109' : go110
go110 = '\x110' : go111
go111 = '\x111' : go112
go112 = '\x112' : go113
go113 = '\x113' : go114
go114 = '\x114' : go115
go115 = '\x115' : go116
go116 = '\x116' : go117
go117 = '\x117' : go118
go118 = '\x118' : go119
go119 = '\x119' : go120
go120 = '\x120' : go121
go121 = '\x121' : go122
go122 = '\x122' : go123
go123 = '\x123' : go124
go124 = '\x124' : go125
go125 = '\x125' : go126
go126 = '\x126' : go127
go127 = '\x127' : go128
go128 = '\x128' : go129
go129 = '\x129' : go130
go130 = '\x130' : go131
go131 = '\x131' : go132
go132 = '\x132' : go133
go133 = '\x133' : go134
go134 = '\x134' : go135
go135 = '\x135' : go136
go136 = '\x136' : go137
go137 = '\x137' : go138
go138 = '\x138' : go139
go139 = '\x139' : go140
go140 = '\x140' : go141
go141 = '\x141' : go142
go142 = '\x142' : go143
go143 = '\x143' : go144
go144 = '\x144' : go145
go145 = '\x145' : go146
go146 = '\x146' : go147
go147 = '\x147' : go148
go148 = '\x148' : go149
go149 = '\x149' : go150
go150 = '\x150' : go151
go151 = '\x151' : go152
go152 = '\x152' : go153
go153 = '\x153' : go154
go154 = '\x154' : go155
go155 = '\x155' : go156
go156 = '\x156' : go157
go157 = '\x157' : go158
go158 = '\x158' : go159
go159 = '\x159' : go160
go160 = '\x160' : go161
go161 = '\x161' : go162
go162 = '\x162' : go163
go163 = '\x163' : go164
go164 = '\x164' : go165
go165 = '\x165' : go166
go166 = '\x166' : go167
go167 = '\x167' : go168
go168 = '\x168' : go169
go169 = '\x169' : go170
go170 = '\x170' : go171
go171 = '\x171' : go172
go172 = '\x172' : go173
go173 = '\x173' : go174
go174 = '\x174' : go175
go175 = '\x175' : go176
go176 = '\x176' : go177
go177 = '\x177' : go178
go178 = '\x178' : go179
go179 = '\x179' : go180
go180 = '\x180' : go181
go181 = '\x181' : go182
go182 = '\x182' : go183
go183 = '\x183' : go184
go184 = '\x184' : go185
go185 = '\x185' : go186
go186 = '\x186' : go187
go187 = '\x187' : go188
go188 = '\x188' : go189
go189 = '\x189' : go190
go190 = '\x190' : go191
go191 = '\x191' : go192
go192 = '\x192' : go193
go193 = '\x193' : go194
go194 = '\x194' : go195
go195 = '\x195' : go196
go196 = '\x196' : go197
go197 = '\x197' : go198
go198 = '\x198' : go199
go199 = '\x199' : go200
go200 = '\x200' : go201
go201 = '\x201' : go202
go202 = '\x202' : go203
go203 = '\x203' : go204
go204 = '\x204' : go205
go205 = '\x205' : go206
go206 = '\x206' : go207
go207 = '\x207' : go208
go208 = '\x208' : go209
go209 = '\x209' : go210
go210 = '\x210' : go211
go211 = '\x211' : go212
go212 = '\x212' : go213
go213 = '\x213' : go214
go214 = '\x214' : go215
go215 = '\x215' : go216
go216 = '\x216' : go217
go217 = '\x217' : go218
go218 = '\x218' : go219
go219 = '\x219' : go220
go220 = '\x220' : go221
go221 = '\x221' : go222
go222 = '\x222' : go223
go223 = '\x223' : go224
go224 = '\x224' : go225
go225 = '\x225' : go226
go226 = '\x226' : go227
go227 = '\x227' : go228
go228 = '\x228' : go229
go229 = '\x229' : go230
go230 = '\x230' : go231
go231 = '\x231' : go232
go232 = '\x232' : go233
go233 = '\x233' : go234
go234 = '\x234' : go235
go235 = '\x235' : go236
go236 = '\x236' : go237
go237 = '\x237' : go238
go238 = '\x238' : go239
go239 = '\x239' : go240
go240 = '\x240' : go241
go241 = '\x241' : go242
go242 = '\x242' : go243
go243 = '\x243' : go244
go244 = '\x244' : go245
go245 = '\x245' : go246
go246 = '\x246' : go247
go247 = '\x247' : go248
go248 = '\x248' : go249
go249 = '\x249' : go250
go250 = '\x250' : go251
go251 = '\x251' : go252
go252 = '\x252' : go253
go253 = '\x253' : go254
go254 = '\x254' : go255
go255 = '\x255' : go256
go256 = '\x256' : go0
in go0
inspect $ 'bigletrec === 'bigletrec'
inspect $ 'bigletrec =/= 'badletrec'
main :: IO ()
main = pure ()