1ParseOk 2 ( Module 3 SrcSpanInfo 4 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 1 1 8 1 5 , srcInfoPoints = 6 [ SrcSpan "tests/examples/GenericTree.hs" 1 1 1 1 7 , SrcSpan "tests/examples/GenericTree.hs" 2 1 2 1 8 , SrcSpan "tests/examples/GenericTree.hs" 2 1 2 1 9 , SrcSpan "tests/examples/GenericTree.hs" 4 1 4 1 10 , SrcSpan "tests/examples/GenericTree.hs" 6 1 6 1 11 , SrcSpan "tests/examples/GenericTree.hs" 7 1 7 1 12 , SrcSpan "tests/examples/GenericTree.hs" 8 1 8 1 13 , SrcSpan "tests/examples/GenericTree.hs" 8 1 8 1 14 ] 15 } 16 (Just 17 (ModuleHead 18 SrcSpanInfo 19 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 2 1 2 25 20 , srcInfoPoints = 21 [ SrcSpan "tests/examples/GenericTree.hs" 2 1 2 7 22 , SrcSpan "tests/examples/GenericTree.hs" 2 20 2 25 23 ] 24 } 25 (ModuleName 26 SrcSpanInfo 27 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 2 8 2 19 28 , srcInfoPoints = [] 29 } 30 "GenericTree") 31 Nothing 32 Nothing)) 33 [ LanguagePragma 34 SrcSpanInfo 35 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 1 1 1 28 36 , srcInfoPoints = 37 [ SrcSpan "tests/examples/GenericTree.hs" 1 1 1 13 38 , SrcSpan "tests/examples/GenericTree.hs" 1 25 1 28 39 ] 40 } 41 [ Ident 42 SrcSpanInfo 43 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 1 14 1 24 44 , srcInfoPoints = [] 45 } 46 "RankNTypes" 47 ] 48 ] 49 [ ImportDecl 50 { importAnn = 51 SrcSpanInfo 52 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 4 1 4 21 53 , srcInfoPoints = 54 [ SrcSpan "tests/examples/GenericTree.hs" 4 1 4 7 ] 55 } 56 , importModule = 57 ModuleName 58 SrcSpanInfo 59 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 4 8 4 21 60 , srcInfoPoints = [] 61 } 62 "Data.Typeable" 63 , importQualified = False 64 , importSrc = False 65 , importSafe = False 66 , importPkg = Nothing 67 , importAs = Nothing 68 , importSpecs = Nothing 69 } 70 ] 71 [ TypeSig 72 SrcSpanInfo 73 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 1 6 83 74 , srcInfoPoints = 75 [ SrcSpan "tests/examples/GenericTree.hs" 6 8 6 10 ] 76 } 77 [ Ident 78 SrcSpanInfo 79 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 1 6 7 80 , srcInfoPoints = [] 81 } 82 "dynRep" 83 ] 84 (TyForall 85 SrcSpanInfo 86 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 11 6 83 87 , srcInfoPoints = [] 88 } 89 Nothing 90 (Just 91 (CxSingle 92 SrcSpanInfo 93 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 11 6 26 94 , srcInfoPoints = 95 [ SrcSpan "tests/examples/GenericTree.hs" 6 11 6 12 96 , SrcSpan "tests/examples/GenericTree.hs" 6 22 6 23 97 , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26 98 ] 99 } 100 (ParenA 101 SrcSpanInfo 102 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 11 6 26 103 , srcInfoPoints = 104 [ SrcSpan "tests/examples/GenericTree.hs" 6 11 6 12 105 , SrcSpan "tests/examples/GenericTree.hs" 6 22 6 23 106 , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26 107 ] 108 } 109 (TypeA 110 SrcSpanInfo 111 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 112 , srcInfoPoints = [] 113 } 114 (TyApp 115 SrcSpanInfo 116 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 117 , srcInfoPoints = [] 118 } 119 (TyCon 120 SrcSpanInfo 121 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 122 , srcInfoPoints = [] 123 } 124 (UnQual 125 SrcSpanInfo 126 { srcInfoSpan = 127 SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20 128 , srcInfoPoints = [] 129 } 130 (Ident 131 SrcSpanInfo 132 { srcInfoSpan = 133 SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20 134 , srcInfoPoints = [] 135 } 136 "Typeable"))) 137 (TyVar 138 SrcSpanInfo 139 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22 140 , srcInfoPoints = [] 141 } 142 (Ident 143 SrcSpanInfo 144 { srcInfoSpan = 145 SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22 146 , srcInfoPoints = [] 147 } 148 "a"))))))) 149 (TyFun 150 SrcSpanInfo 151 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 83 152 , srcInfoPoints = 153 [ SrcSpan "tests/examples/GenericTree.hs" 6 29 6 31 ] 154 } 155 (TyVar 156 SrcSpanInfo 157 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 28 158 , srcInfoPoints = [] 159 } 160 (Ident 161 SrcSpanInfo 162 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 28 163 , srcInfoPoints = [] 164 } 165 "a")) 166 (TyTuple 167 SrcSpanInfo 168 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 32 6 83 169 , srcInfoPoints = 170 [ SrcSpan "tests/examples/GenericTree.hs" 6 32 6 33 171 , SrcSpan "tests/examples/GenericTree.hs" 6 40 6 41 172 , SrcSpan "tests/examples/GenericTree.hs" 6 82 6 83 173 ] 174 } 175 Boxed 176 [ TyCon 177 SrcSpanInfo 178 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 33 6 40 179 , srcInfoPoints = [] 180 } 181 (UnQual 182 SrcSpanInfo 183 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 33 6 40 184 , srcInfoPoints = [] 185 } 186 (Ident 187 SrcSpanInfo 188 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 33 6 40 189 , srcInfoPoints = [] 190 } 191 "TypeRep")) 192 , TyForall 193 SrcSpanInfo 194 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 42 6 82 195 , srcInfoPoints = 196 [ SrcSpan "tests/examples/GenericTree.hs" 6 42 6 48 197 , SrcSpan "tests/examples/GenericTree.hs" 6 50 6 51 198 ] 199 } 200 (Just 201 [ UnkindedVar 202 SrcSpanInfo 203 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 49 6 50 204 , srcInfoPoints = [] 205 } 206 (Ident 207 SrcSpanInfo 208 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 49 6 50 209 , srcInfoPoints = [] 210 } 211 "b") 212 ]) 213 (Just 214 (CxSingle 215 SrcSpanInfo 216 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 52 6 67 217 , srcInfoPoints = 218 [ SrcSpan "tests/examples/GenericTree.hs" 6 52 6 53 219 , SrcSpan "tests/examples/GenericTree.hs" 6 63 6 64 220 , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67 221 ] 222 } 223 (ParenA 224 SrcSpanInfo 225 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 52 6 67 226 , srcInfoPoints = 227 [ SrcSpan "tests/examples/GenericTree.hs" 6 52 6 53 228 , SrcSpan "tests/examples/GenericTree.hs" 6 63 6 64 229 , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67 230 ] 231 } 232 (TypeA 233 SrcSpanInfo 234 { srcInfoSpan = 235 SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 236 , srcInfoPoints = [] 237 } 238 (TyApp 239 SrcSpanInfo 240 { srcInfoSpan = 241 SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 242 , srcInfoPoints = [] 243 } 244 (TyCon 245 SrcSpanInfo 246 { srcInfoSpan = 247 SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 248 , srcInfoPoints = [] 249 } 250 (UnQual 251 SrcSpanInfo 252 { srcInfoSpan = 253 SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61 254 , srcInfoPoints = [] 255 } 256 (Ident 257 SrcSpanInfo 258 { srcInfoSpan = 259 SrcSpan 260 "tests/examples/GenericTree.hs" 6 53 6 61 261 , srcInfoPoints = [] 262 } 263 "Typeable"))) 264 (TyVar 265 SrcSpanInfo 266 { srcInfoSpan = 267 SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63 268 , srcInfoPoints = [] 269 } 270 (Ident 271 SrcSpanInfo 272 { srcInfoSpan = 273 SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63 274 , srcInfoPoints = [] 275 } 276 "b"))))))) 277 (TyFun 278 SrcSpanInfo 279 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 82 280 , srcInfoPoints = 281 [ SrcSpan "tests/examples/GenericTree.hs" 6 70 6 72 ] 282 } 283 (TyVar 284 SrcSpanInfo 285 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 69 286 , srcInfoPoints = [] 287 } 288 (Ident 289 SrcSpanInfo 290 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 69 291 , srcInfoPoints = [] 292 } 293 "b")) 294 (TyParen 295 SrcSpanInfo 296 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 73 6 82 297 , srcInfoPoints = 298 [ SrcSpan "tests/examples/GenericTree.hs" 6 73 6 74 299 , SrcSpan "tests/examples/GenericTree.hs" 6 81 6 82 300 ] 301 } 302 (TyApp 303 SrcSpanInfo 304 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 74 6 81 305 , srcInfoPoints = [] 306 } 307 (TyCon 308 SrcSpanInfo 309 { srcInfoSpan = 310 SrcSpan "tests/examples/GenericTree.hs" 6 74 6 79 311 , srcInfoPoints = [] 312 } 313 (UnQual 314 SrcSpanInfo 315 { srcInfoSpan = 316 SrcSpan "tests/examples/GenericTree.hs" 6 74 6 79 317 , srcInfoPoints = [] 318 } 319 (Ident 320 SrcSpanInfo 321 { srcInfoSpan = 322 SrcSpan "tests/examples/GenericTree.hs" 6 74 6 79 323 , srcInfoPoints = [] 324 } 325 "Maybe"))) 326 (TyVar 327 SrcSpanInfo 328 { srcInfoSpan = 329 SrcSpan "tests/examples/GenericTree.hs" 6 80 6 81 330 , srcInfoPoints = [] 331 } 332 (Ident 333 SrcSpanInfo 334 { srcInfoSpan = 335 SrcSpan "tests/examples/GenericTree.hs" 6 80 6 81 336 , srcInfoPoints = [] 337 } 338 "b"))))) 339 ]))) 340 , FunBind 341 SrcSpanInfo 342 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 1 7 36 343 , srcInfoPoints = [] 344 } 345 [ Match 346 SrcSpanInfo 347 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 1 7 36 348 , srcInfoPoints = [] 349 } 350 (Ident 351 SrcSpanInfo 352 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 1 7 7 353 , srcInfoPoints = [] 354 } 355 "dynRep") 356 [ PVar 357 SrcSpanInfo 358 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 8 7 9 359 , srcInfoPoints = [] 360 } 361 (Ident 362 SrcSpanInfo 363 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 8 7 9 364 , srcInfoPoints = [] 365 } 366 "a") 367 ] 368 (UnGuardedRhs 369 SrcSpanInfo 370 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 10 7 36 371 , srcInfoPoints = 372 [ SrcSpan "tests/examples/GenericTree.hs" 7 10 7 11 ] 373 } 374 (Tuple 375 SrcSpanInfo 376 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 12 7 36 377 , srcInfoPoints = 378 [ SrcSpan "tests/examples/GenericTree.hs" 7 12 7 13 379 , SrcSpan "tests/examples/GenericTree.hs" 7 21 7 22 380 , SrcSpan "tests/examples/GenericTree.hs" 7 35 7 36 381 ] 382 } 383 Boxed 384 [ App 385 SrcSpanInfo 386 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 21 387 , srcInfoPoints = [] 388 } 389 (Var 390 SrcSpanInfo 391 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 19 392 , srcInfoPoints = [] 393 } 394 (UnQual 395 SrcSpanInfo 396 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 19 397 , srcInfoPoints = [] 398 } 399 (Ident 400 SrcSpanInfo 401 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 13 7 19 402 , srcInfoPoints = [] 403 } 404 "typeOf"))) 405 (Var 406 SrcSpanInfo 407 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 20 7 21 408 , srcInfoPoints = [] 409 } 410 (UnQual 411 SrcSpanInfo 412 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 20 7 21 413 , srcInfoPoints = [] 414 } 415 (Ident 416 SrcSpanInfo 417 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 20 7 21 418 , srcInfoPoints = [] 419 } 420 "a"))) 421 , Lambda 422 SrcSpanInfo 423 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 23 7 35 424 , srcInfoPoints = 425 [ SrcSpan "tests/examples/GenericTree.hs" 7 23 7 24 426 , SrcSpan "tests/examples/GenericTree.hs" 7 26 7 28 427 ] 428 } 429 [ PWildCard 430 SrcSpanInfo 431 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 24 7 25 432 , srcInfoPoints = [] 433 } 434 ] 435 (App 436 SrcSpanInfo 437 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 29 7 35 438 , srcInfoPoints = [] 439 } 440 (Var 441 SrcSpanInfo 442 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 29 7 33 443 , srcInfoPoints = [] 444 } 445 (UnQual 446 SrcSpanInfo 447 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 29 7 33 448 , srcInfoPoints = [] 449 } 450 (Ident 451 SrcSpanInfo 452 { srcInfoSpan = 453 SrcSpan "tests/examples/GenericTree.hs" 7 29 7 33 454 , srcInfoPoints = [] 455 } 456 "cast"))) 457 (Var 458 SrcSpanInfo 459 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 34 7 35 460 , srcInfoPoints = [] 461 } 462 (UnQual 463 SrcSpanInfo 464 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 7 34 7 35 465 , srcInfoPoints = [] 466 } 467 (Ident 468 SrcSpanInfo 469 { srcInfoSpan = 470 SrcSpan "tests/examples/GenericTree.hs" 7 34 7 35 471 , srcInfoPoints = [] 472 } 473 "a")))) 474 ])) 475 Nothing 476 ] 477 ] 478 , [] 479 ) 480