{- constructors larger than 239 -} module LargeCon where data List a = Cons a (List a) | Nil -- data type with 300 constructors data Con = Con0 | Con1 | Con2 | Con3 | Con4 | Con5 | Con6 | Con7 | Con8 | Con9 | Con10 | Con11 | Con12 | Con13 | Con14 | Con15 | Con16 | Con17 | Con18 | Con19 | Con20 | Con21 | Con22 | Con23 | Con24 | Con25 | Con26 | Con27 | Con28 | Con29 | Con30 | Con31 | Con32 | Con33 | Con34 | Con35 | Con36 | Con37 | Con38 | Con39 | Con40 | Con41 | Con42 | Con43 | Con44 | Con45 | Con46 | Con47 | Con48 | Con49 | Con50 | Con51 | Con52 | Con53 | Con54 | Con55 | Con56 | Con57 | Con58 | Con59 | Con60 | Con61 | Con62 | Con63 | Con64 | Con65 | Con66 | Con67 | Con68 | Con69 | Con70 | Con71 | Con72 | Con73 | Con74 | Con75 | Con76 | Con77 | Con78 | Con79 | Con80 | Con81 | Con82 | Con83 | Con84 | Con85 | Con86 | Con87 | Con88 | Con89 | Con90 | Con91 | Con92 | Con93 | Con94 | Con95 | Con96 | Con97 | Con98 | Con99 | Con100 | Con101 | Con102 | Con103 | Con104 | Con105 | Con106 | Con107 | Con108 | Con109 | Con110 | Con111 | Con112 | Con113 | Con114 | Con115 | Con116 | Con117 | Con118 | Con119 | Con120 | Con121 | Con122 | Con123 | Con124 | Con125 | Con126 | Con127 | Con128 | Con129 | Con130 | Con131 | Con132 | Con133 | Con134 | Con135 | Con136 | Con137 | Con138 | Con139 | Con140 | Con141 | Con142 | Con143 | Con144 | Con145 | Con146 | Con147 | Con148 | Con149 | Con150 | Con151 | Con152 | Con153 | Con154 | Con155 | Con156 | Con157 | Con158 | Con159 | Con160 | Con161 | Con162 | Con163 | Con164 | Con165 | Con166 | Con167 | Con168 | Con169 | Con170 | Con171 | Con172 | Con173 | Con174 | Con175 | Con176 | Con177 | Con178 | Con179 | Con180 | Con181 | Con182 | Con183 | Con184 | Con185 | Con186 | Con187 | Con188 | Con189 | Con190 | Con191 | Con192 | Con193 | Con194 | Con195 | Con196 | Con197 | Con198 | Con199 | Con200 | Con201 | Con202 | Con203 | Con204 | Con205 | Con206 | Con207 | Con208 | Con209 | Con210 | Con211 | Con212 | Con213 | Con214 | Con215 | Con216 | Con217 | Con218 | Con219 | Con220 | Con221 | Con222 | Con223 | Con224 | Con225 | Con226 | Con227 | Con228 | Con229 | Con230 | Con231 | Con232 | Con233 | Con234 | Con235 | Con236 | Con237 | Con238 | Con239 | Con240 | Con241 | Con242 | Con243 | Con244 | Con245 | Con246 | Con247 | Con248 | Con249 | Con250 | Con251 | Con252 | Con253 | Con254 | Con255 | Con256 | Con257 | Con258 | Con259 | Con260 | Con261 | Con262 | Con263 | Con264 | Con265 | Con266 | Con267 | Con268 | Con269 | Con270 | Con271 | Con272 | Con273 | Con274 | Con275 | Con276 | Con277 | Con278 | Con279 | Con280 | Con281 | Con282 | Con283 | Con284 | Con285 | Con286 | Con287 | Con288 | Con289 | Con290 | Con291 | Con292 | Con293 | Con294 | Con295 | Con296 | Con297 | Con298 | Con299 main = test (Cons Con299 (Cons 239 Nil)) head xs = case xs of Cons x xx -> x test xs = case head xs of Con299 -> 42 Con239 -> 1 other -> 0