packages feed

haskell-src-exts-1.24.0: tests/examples/RealGHC.lhs.parser.golden

ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 7 1 915 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/RealGHC.lhs" 7 1 7 1
            , SrcSpan "tests/examples/RealGHC.lhs" 8 1 8 1
            , SrcSpan "tests/examples/RealGHC.lhs" 17 1 17 1
            , SrcSpan "tests/examples/RealGHC.lhs" 17 1 17 1
            , SrcSpan "tests/examples/RealGHC.lhs" 40 1 40 1
            , SrcSpan "tests/examples/RealGHC.lhs" 41 1 41 1
            , SrcSpan "tests/examples/RealGHC.lhs" 42 1 42 1
            , SrcSpan "tests/examples/RealGHC.lhs" 43 1 43 1
            , SrcSpan "tests/examples/RealGHC.lhs" 44 1 44 1
            , SrcSpan "tests/examples/RealGHC.lhs" 45 1 45 1
            , SrcSpan "tests/examples/RealGHC.lhs" 46 1 46 1
            , SrcSpan "tests/examples/RealGHC.lhs" 47 1 47 1
            , SrcSpan "tests/examples/RealGHC.lhs" 48 1 48 1
            , SrcSpan "tests/examples/RealGHC.lhs" 49 1 49 1
            , SrcSpan "tests/examples/RealGHC.lhs" 50 1 50 1
            , SrcSpan "tests/examples/RealGHC.lhs" 51 1 51 1
            , SrcSpan "tests/examples/RealGHC.lhs" 52 1 52 1
            , SrcSpan "tests/examples/RealGHC.lhs" 53 1 53 1
            , SrcSpan "tests/examples/RealGHC.lhs" 54 1 54 1
            , SrcSpan "tests/examples/RealGHC.lhs" 55 1 55 1
            , SrcSpan "tests/examples/RealGHC.lhs" 56 1 56 1
            , SrcSpan "tests/examples/RealGHC.lhs" 57 1 57 1
            , SrcSpan "tests/examples/RealGHC.lhs" 58 1 58 1
            , SrcSpan "tests/examples/RealGHC.lhs" 59 1 59 1
            , SrcSpan "tests/examples/RealGHC.lhs" 60 1 60 1
            , SrcSpan "tests/examples/RealGHC.lhs" 61 1 61 1
            , SrcSpan "tests/examples/RealGHC.lhs" 62 1 62 1
            , SrcSpan "tests/examples/RealGHC.lhs" 63 1 63 1
            , SrcSpan "tests/examples/RealGHC.lhs" 64 1 64 1
            , SrcSpan "tests/examples/RealGHC.lhs" 65 1 65 1
            , SrcSpan "tests/examples/RealGHC.lhs" 104 1 104 1
            , SrcSpan "tests/examples/RealGHC.lhs" 108 1 108 1
            , SrcSpan "tests/examples/RealGHC.lhs" 115 1 115 1
            , SrcSpan "tests/examples/RealGHC.lhs" 126 1 126 1
            , SrcSpan "tests/examples/RealGHC.lhs" 128 1 128 1
            , SrcSpan "tests/examples/RealGHC.lhs" 129 1 129 1
            , SrcSpan "tests/examples/RealGHC.lhs" 132 1 132 1
            , SrcSpan "tests/examples/RealGHC.lhs" 133 1 133 1
            , SrcSpan "tests/examples/RealGHC.lhs" 135 1 135 1
            , SrcSpan "tests/examples/RealGHC.lhs" 137 1 137 1
            , SrcSpan "tests/examples/RealGHC.lhs" 150 1 150 1
            , SrcSpan "tests/examples/RealGHC.lhs" 151 1 151 1
            , SrcSpan "tests/examples/RealGHC.lhs" 152 1 152 1
            , SrcSpan "tests/examples/RealGHC.lhs" 156 1 156 1
            , SrcSpan "tests/examples/RealGHC.lhs" 162 1 162 1
            , SrcSpan "tests/examples/RealGHC.lhs" 181 1 181 1
            , SrcSpan "tests/examples/RealGHC.lhs" 182 1 182 1
            , SrcSpan "tests/examples/RealGHC.lhs" 184 1 184 1
            , SrcSpan "tests/examples/RealGHC.lhs" 185 1 185 1
            , SrcSpan "tests/examples/RealGHC.lhs" 188 1 188 1
            , SrcSpan "tests/examples/RealGHC.lhs" 189 1 189 1
            , SrcSpan "tests/examples/RealGHC.lhs" 192 1 192 1
            , SrcSpan "tests/examples/RealGHC.lhs" 193 1 193 1
            , SrcSpan "tests/examples/RealGHC.lhs" 195 1 195 1
            , SrcSpan "tests/examples/RealGHC.lhs" 200 1 200 1
            , SrcSpan "tests/examples/RealGHC.lhs" 201 1 201 1
            , SrcSpan "tests/examples/RealGHC.lhs" 203 1 203 1
            , SrcSpan "tests/examples/RealGHC.lhs" 208 1 208 1
            , SrcSpan "tests/examples/RealGHC.lhs" 225 1 225 1
            , SrcSpan "tests/examples/RealGHC.lhs" 229 1 229 1
            , SrcSpan "tests/examples/RealGHC.lhs" 231 1 231 1
            , SrcSpan "tests/examples/RealGHC.lhs" 232 1 232 1
            , SrcSpan "tests/examples/RealGHC.lhs" 234 1 234 1
            , SrcSpan "tests/examples/RealGHC.lhs" 235 1 235 1
            , SrcSpan "tests/examples/RealGHC.lhs" 238 1 238 1
            , SrcSpan "tests/examples/RealGHC.lhs" 239 1 239 1
            , SrcSpan "tests/examples/RealGHC.lhs" 241 1 241 1
            , SrcSpan "tests/examples/RealGHC.lhs" 242 1 242 1
            , SrcSpan "tests/examples/RealGHC.lhs" 245 1 245 1
            , SrcSpan "tests/examples/RealGHC.lhs" 246 1 246 1
            , SrcSpan "tests/examples/RealGHC.lhs" 278 1 278 1
            , SrcSpan "tests/examples/RealGHC.lhs" 284 1 284 1
            , SrcSpan "tests/examples/RealGHC.lhs" 300 1 300 1
            , SrcSpan "tests/examples/RealGHC.lhs" 306 1 306 1
            , SrcSpan "tests/examples/RealGHC.lhs" 307 1 307 1
            , SrcSpan "tests/examples/RealGHC.lhs" 324 1 324 1
            , SrcSpan "tests/examples/RealGHC.lhs" 325 1 325 1
            , SrcSpan "tests/examples/RealGHC.lhs" 326 1 326 1
            , SrcSpan "tests/examples/RealGHC.lhs" 327 1 327 1
            , SrcSpan "tests/examples/RealGHC.lhs" 335 1 335 1
            , SrcSpan "tests/examples/RealGHC.lhs" 336 1 336 1
            , SrcSpan "tests/examples/RealGHC.lhs" 338 1 338 1
            , SrcSpan "tests/examples/RealGHC.lhs" 364 1 364 1
            , SrcSpan "tests/examples/RealGHC.lhs" 370 1 370 1
            , SrcSpan "tests/examples/RealGHC.lhs" 390 1 390 1
            , SrcSpan "tests/examples/RealGHC.lhs" 397 1 397 1
            , SrcSpan "tests/examples/RealGHC.lhs" 457 1 457 1
            , SrcSpan "tests/examples/RealGHC.lhs" 458 1 458 1
            , SrcSpan "tests/examples/RealGHC.lhs" 460 1 460 1
            , SrcSpan "tests/examples/RealGHC.lhs" 461 1 461 1
            , SrcSpan "tests/examples/RealGHC.lhs" 473 1 473 1
            , SrcSpan "tests/examples/RealGHC.lhs" 495 1 495 1
            , SrcSpan "tests/examples/RealGHC.lhs" 499 1 499 1
            , SrcSpan "tests/examples/RealGHC.lhs" 513 1 513 1
            , SrcSpan "tests/examples/RealGHC.lhs" 571 1 571 1
            , SrcSpan "tests/examples/RealGHC.lhs" 597 1 597 1
            , SrcSpan "tests/examples/RealGHC.lhs" 601 1 601 1
            , SrcSpan "tests/examples/RealGHC.lhs" 605 1 605 1
            , SrcSpan "tests/examples/RealGHC.lhs" 615 1 615 1
            , SrcSpan "tests/examples/RealGHC.lhs" 623 1 623 1
            , SrcSpan "tests/examples/RealGHC.lhs" 629 1 629 1
            , SrcSpan "tests/examples/RealGHC.lhs" 636 1 636 1
            , SrcSpan "tests/examples/RealGHC.lhs" 639 1 639 1
            , SrcSpan "tests/examples/RealGHC.lhs" 670 1 670 1
            , SrcSpan "tests/examples/RealGHC.lhs" 674 1 674 1
            , SrcSpan "tests/examples/RealGHC.lhs" 679 1 679 1
            , SrcSpan "tests/examples/RealGHC.lhs" 723 1 723 1
            , SrcSpan "tests/examples/RealGHC.lhs" 728 1 728 1
            , SrcSpan "tests/examples/RealGHC.lhs" 730 1 730 1
            , SrcSpan "tests/examples/RealGHC.lhs" 738 1 738 1
            , SrcSpan "tests/examples/RealGHC.lhs" 750 1 750 1
            , SrcSpan "tests/examples/RealGHC.lhs" 755 1 755 1
            , SrcSpan "tests/examples/RealGHC.lhs" 813 1 813 1
            , SrcSpan "tests/examples/RealGHC.lhs" 818 1 818 1
            , SrcSpan "tests/examples/RealGHC.lhs" 830 1 830 1
            , SrcSpan "tests/examples/RealGHC.lhs" 836 1 836 1
            , SrcSpan "tests/examples/RealGHC.lhs" 838 1 838 1
            , SrcSpan "tests/examples/RealGHC.lhs" 839 1 839 1
            , SrcSpan "tests/examples/RealGHC.lhs" 841 1 841 1
            , SrcSpan "tests/examples/RealGHC.lhs" 842 1 842 1
            , SrcSpan "tests/examples/RealGHC.lhs" 843 1 843 1
            , SrcSpan "tests/examples/RealGHC.lhs" 844 1 844 1
            , SrcSpan "tests/examples/RealGHC.lhs" 845 1 845 1
            , SrcSpan "tests/examples/RealGHC.lhs" 846 1 846 1
            , SrcSpan "tests/examples/RealGHC.lhs" 847 1 847 1
            , SrcSpan "tests/examples/RealGHC.lhs" 848 1 848 1
            , SrcSpan "tests/examples/RealGHC.lhs" 849 1 849 1
            , SrcSpan "tests/examples/RealGHC.lhs" 850 1 850 1
            , SrcSpan "tests/examples/RealGHC.lhs" 853 1 853 1
            , SrcSpan "tests/examples/RealGHC.lhs" 854 1 854 1
            , SrcSpan "tests/examples/RealGHC.lhs" 855 1 855 1
            , SrcSpan "tests/examples/RealGHC.lhs" 859 1 859 1
            , SrcSpan "tests/examples/RealGHC.lhs" 863 1 863 1
            , SrcSpan "tests/examples/RealGHC.lhs" 870 1 870 1
            , SrcSpan "tests/examples/RealGHC.lhs" 871 1 871 1
            , SrcSpan "tests/examples/RealGHC.lhs" 915 1 915 1
            , SrcSpan "tests/examples/RealGHC.lhs" 915 1 915 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 17 1 36 12
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/RealGHC.lhs" 17 1 17 7
                  , SrcSpan "tests/examples/RealGHC.lhs" 36 7 36 12
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 17 8 17 13
                 , srcInfoPoints = []
                 }
               "Rules")
            Nothing
            (Just
               (ExportSpecList
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 17 14 36 6
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 17 14 17 15
                        , SrcSpan "tests/examples/RealGHC.lhs" 19 13 19 14
                        , SrcSpan "tests/examples/RealGHC.lhs" 22 18 22 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 22 30 22 31
                        , SrcSpan "tests/examples/RealGHC.lhs" 22 50 22 51
                        , SrcSpan "tests/examples/RealGHC.lhs" 23 18 23 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 23 31 23 32
                        , SrcSpan "tests/examples/RealGHC.lhs" 26 21 26 22
                        , SrcSpan "tests/examples/RealGHC.lhs" 29 15 29 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 29 31 29 32
                        , SrcSpan "tests/examples/RealGHC.lhs" 29 44 29 45
                        , SrcSpan "tests/examples/RealGHC.lhs" 30 25 30 26
                        , SrcSpan "tests/examples/RealGHC.lhs" 33 21 33 22
                        , SrcSpan "tests/examples/RealGHC.lhs" 33 31 33 32
                        , SrcSpan "tests/examples/RealGHC.lhs" 33 48 33 49
                        , SrcSpan "tests/examples/RealGHC.lhs" 35 19 35 20
                        , SrcSpan "tests/examples/RealGHC.lhs" 35 32 35 33
                        , SrcSpan "tests/examples/RealGHC.lhs" 36 5 36 6
                        ]
                    }
                  [ EAbs
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 19 5 19 13
                        , srcInfoPoints = []
                        }
                      (NoNamespace
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 19 5 19 13
                           , srcInfoPoints = []
                           })
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 19 5 19 13
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 19 5 19 13
                              , srcInfoPoints = []
                              }
                            "RuleBase"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 5 22 18
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 5 22 18
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 5 22 18
                              , srcInfoPoints = []
                              }
                            "emptyRuleBase"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 20 22 30
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 20 22 30
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 20 22 30
                              , srcInfoPoints = []
                              }
                            "mkRuleBase"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 32 22 50
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 32 22 50
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 22 32 22 50
                              , srcInfoPoints = []
                              }
                            "extendRuleBaseList"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 23 5 23 18
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 23 5 23 18
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 23 5 23 18
                              , srcInfoPoints = []
                              }
                            "unionRuleBase"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 23 20 23 31
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 23 20 23 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 23 20 23 31
                              , srcInfoPoints = []
                              }
                            "pprRuleBase"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 26 5 26 21
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 26 5 26 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 26 5 26 21
                              , srcInfoPoints = []
                              }
                            "ruleCheckProgram"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 5 29 15
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 5 29 15
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 5 29 15
                              , srcInfoPoints = []
                              }
                            "mkSpecInfo"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 17 29 31
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 17 29 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 17 29 31
                              , srcInfoPoints = []
                              }
                            "extendSpecInfo"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 33 29 44
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 33 29 44
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 29 33 29 44
                              , srcInfoPoints = []
                              }
                            "addSpecInfo"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 30 5 30 25
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 30 5 30 25
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 30 5 30 25
                              , srcInfoPoints = []
                              }
                            "addIdSpecialisations"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 9 33 21
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 9 33 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 9 33 21
                              , srcInfoPoints = []
                              }
                            "rulesOfBinds"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 23 33 31
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 23 33 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 23 33 31
                              , srcInfoPoints = []
                              }
                            "getRules"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 33 33 48
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 33 33 48
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 33 33 33 48
                              , srcInfoPoints = []
                              }
                            "pprRulesForUser"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 9 35 19
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 9 35 19
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 9 35 19
                              , srcInfoPoints = []
                              }
                            "lookupRule"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 21 35 32
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 21 35 32
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 21 35 32
                              , srcInfoPoints = []
                              }
                            "mkLocalRule"))
                  , EVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 34 35 47
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 34 35 47
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 35 34 35 47
                              , srcInfoPoints = []
                              }
                            "roughTopNames"))
                  ]))))
      [ OptionsPragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 7 1 7 19
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 7 1 7 16
                , SrcSpan "tests/examples/RealGHC.lhs" 7 16 7 19
                ]
            }
          Nothing
          "-w "
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 8 1 8 31
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 8 1 8 13
                , SrcSpan "tests/examples/RealGHC.lhs" 8 28 8 31
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 8 14 8 27
                , srcInfoPoints = []
                }
              "PatternGuards"
          ]
      ]
      [ ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 40 1 40 15
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 40 1 40 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 40 8 40 15
                  , srcInfoPoints = []
                  }
                "CoreSyn"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 41 1 41 41
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 41 1 41 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 41 8 41 17
                  , srcInfoPoints = []
                  }
                "OccurAnal"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 41 21 41 41
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 41 21 41 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 41 40 41 41
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 41 23 41 39
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 41 23 41 39
                            , srcInfoPoints = []
                            }
                          "occurAnalyseExpr")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 1 42 81
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 42 1 42 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 8 42 15
                  , srcInfoPoints = []
                  }
                "CoreFVs"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 21 42 81
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 42 21 42 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 42 35 42 36
                         , SrcSpan "tests/examples/RealGHC.lhs" 42 50 42 51
                         , SrcSpan "tests/examples/RealGHC.lhs" 42 64 42 65
                         , SrcSpan "tests/examples/RealGHC.lhs" 42 80 42 81
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 23 42 35
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 23 42 35
                            , srcInfoPoints = []
                            }
                          "exprFreeVars")
                   , IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 37 42 50
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 37 42 50
                            , srcInfoPoints = []
                            }
                          "exprsFreeVars")
                   , IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 52 42 64
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 52 42 64
                            , srcInfoPoints = []
                            }
                          "bindFreeVars")
                   , IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 66 42 79
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 42 66 42 79
                            , srcInfoPoints = []
                            }
                          "rulesFreeVars")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 43 1 43 44
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 43 1 43 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 43 8 43 17
                  , srcInfoPoints = []
                  }
                "CoreUtils"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 43 21 43 44
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 43 21 43 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 43 32 43 33
                         , SrcSpan "tests/examples/RealGHC.lhs" 43 43 43 44
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 43 23 43 32
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 43 23 43 32
                            , srcInfoPoints = []
                            }
                          "tcEqExprX")
                   , IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 43 34 43 42
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 43 34 43 42
                            , srcInfoPoints = []
                            }
                          "exprType")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 44 1 44 33
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 44 1 44 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 44 8 44 15
                  , srcInfoPoints = []
                  }
                "PprCore"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 44 21 44 33
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 44 21 44 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 44 32 44 33
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 44 23 44 31
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 44 23 44 31
                            , srcInfoPoints = []
                            }
                          "pprRules")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 1 45 37
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 45 1 45 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 8 45 12
                  , srcInfoPoints = []
                  }
                "Type"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 17 45 37
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 45 17 45 18
                         , SrcSpan "tests/examples/RealGHC.lhs" 45 23 45 24
                         , SrcSpan "tests/examples/RealGHC.lhs" 45 36 45 37
                         ]
                     }
                   False
                   [ IAbs
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 19 45 23
                         , srcInfoPoints = []
                         }
                       (NoNamespace
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 19 45 23
                            , srcInfoPoints = []
                            })
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 19 45 23
                            , srcInfoPoints = []
                            }
                          "Type")
                   , IAbs
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 25 45 35
                         , srcInfoPoints = []
                         }
                       (NoNamespace
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 25 45 35
                            , srcInfoPoints = []
                            })
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 45 25 45 35
                            , srcInfoPoints = []
                            }
                          "TvSubstEnv")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 46 1 46 41
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 46 1 46 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 46 8 46 16
                  , srcInfoPoints = []
                  }
                "Coercion"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 46 25 46 41
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 46 25 46 26
                         , SrcSpan "tests/examples/RealGHC.lhs" 46 40 46 41
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 46 27 46 39
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 46 27 46 39
                            , srcInfoPoints = []
                            }
                          "coercionKind")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 47 1 47 46
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 47 1 47 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 47 8 47 14
                  , srcInfoPoints = []
                  }
                "TcType"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 47 21 47 46
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 47 21 47 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 47 45 47 46
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 47 23 47 44
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 47 23 47 44
                            , srcInfoPoints = []
                            }
                          "tcSplitTyConApp_maybe")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 48 1 48 34
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 48 1 48 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 48 8 48 16
                  , srcInfoPoints = []
                  }
                "CoreTidy"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 48 21 48 34
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 48 21 48 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 48 33 48 34
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 48 23 48 32
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 48 23 48 32
                            , srcInfoPoints = []
                            }
                          "tidyRules")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 49 1 49 10
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 49 1 49 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 49 8 49 10
                  , srcInfoPoints = []
                  }
                "Id"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 50 1 50 45
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 50 1 50 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 50 8 50 14
                  , srcInfoPoints = []
                  }
                "IdInfo"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 50 21 50 45
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 50 21 50 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 50 44 50 45
                         ]
                     }
                   False
                   [ IThingWith
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 50 23 50 43
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 50 31 50 32
                             , SrcSpan "tests/examples/RealGHC.lhs" 50 42 50 43
                             ]
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 50 23 50 31
                            , srcInfoPoints = []
                            }
                          "SpecInfo")
                       [ ConName
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 50 33 50 41
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 50 33 50 41
                                , srcInfoPoints = []
                                }
                              "SpecInfo")
                       ]
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 51 1 51 24
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 51 1 51 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 51 8 51 11
                  , srcInfoPoints = []
                  }
                "Var"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 51 17 51 24
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 51 17 51 18
                         , SrcSpan "tests/examples/RealGHC.lhs" 51 23 51 24
                         ]
                     }
                   False
                   [ IAbs
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 51 19 51 22
                         , srcInfoPoints = []
                         }
                       (NoNamespace
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 51 19 51 22
                            , srcInfoPoints = []
                            })
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 51 19 51 22
                            , srcInfoPoints = []
                            }
                          "Var")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 52 1 52 14
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 52 1 52 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 52 8 52 14
                  , srcInfoPoints = []
                  }
                "VarEnv"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 53 1 53 14
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 53 1 53 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 53 8 53 14
                  , srcInfoPoints = []
                  }
                "VarSet"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 1 54 41
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 54 1 54 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 8 54 12
                  , srcInfoPoints = []
                  }
                "Name"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 17 54 41
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 54 17 54 18
                         , SrcSpan "tests/examples/RealGHC.lhs" 54 23 54 24
                         , SrcSpan "tests/examples/RealGHC.lhs" 54 40 54 41
                         ]
                     }
                   False
                   [ IAbs
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 19 54 23
                         , srcInfoPoints = []
                         }
                       (NoNamespace
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 19 54 23
                            , srcInfoPoints = []
                            })
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 19 54 23
                            , srcInfoPoints = []
                            }
                          "Name")
                   , IThingAll
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 25 54 39
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 54 35 54 36
                             , SrcSpan "tests/examples/RealGHC.lhs" 54 36 54 38
                             , SrcSpan "tests/examples/RealGHC.lhs" 54 38 54 39
                             ]
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 54 25 54 35
                            , srcInfoPoints = []
                            }
                          "NamedThing")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 55 1 55 15
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 55 1 55 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 55 8 55 15
                  , srcInfoPoints = []
                  }
                "NameEnv"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 56 1 56 51
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 56 1 56 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 56 8 56 13
                  , srcInfoPoints = []
                  }
                "Unify"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 56 21 56 51
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 56 21 56 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 56 35 56 36
                         , SrcSpan "tests/examples/RealGHC.lhs" 56 50 56 51
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 56 23 56 35
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 56 23 56 35
                            , srcInfoPoints = []
                            }
                          "ruleMatchTyX")
                   , IThingAll
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 56 37 56 49
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 56 45 56 46
                             , SrcSpan "tests/examples/RealGHC.lhs" 56 46 56 48
                             , SrcSpan "tests/examples/RealGHC.lhs" 56 48 56 49
                             ]
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 56 37 56 45
                            , srcInfoPoints = []
                            }
                          "MatchEnv")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 57 1 57 35
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 57 1 57 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 57 8 57 18
                  , srcInfoPoints = []
                  }
                "BasicTypes"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 57 21 57 35
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 57 21 57 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 57 34 57 35
                         ]
                     }
                   False
                   [ IAbs
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 57 23 57 33
                         , srcInfoPoints = []
                         }
                       (NoNamespace
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 57 23 57 33
                            , srcInfoPoints = []
                            })
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 57 23 57 33
                            , srcInfoPoints = []
                            }
                          "Activation")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 58 1 58 43
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 58 1 58 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 58 8 58 19
                  , srcInfoPoints = []
                  }
                "StaticFlags"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs =
              Just
                (ImportSpecList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 58 21 58 43
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 58 21 58 22
                         , SrcSpan "tests/examples/RealGHC.lhs" 58 42 58 43
                         ]
                     }
                   False
                   [ IVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 58 23 58 41
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 58 23 58 41
                            , srcInfoPoints = []
                            }
                          "opt_PprStyle_Debug")
                   ])
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 59 1 59 18
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 59 1 59 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 59 8 59 18
                  , srcInfoPoints = []
                  }
                "Outputable"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 60 1 60 18
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 60 1 60 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 60 8 60 18
                  , srcInfoPoints = []
                  }
                "FastString"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 61 1 61 14
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 61 1 61 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 61 8 61 14
                  , srcInfoPoints = []
                  }
                "Maybes"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 62 1 62 15
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 62 1 62 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 62 8 62 15
                  , srcInfoPoints = []
                  }
                "OrdList"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 63 1 63 11
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 63 1 63 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 63 8 63 11
                  , srcInfoPoints = []
                  }
                "Bag"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 64 1 64 12
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 64 1 64 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 64 8 64 12
                  , srcInfoPoints = []
                  }
                "Util"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 65 1 65 17
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 65 1 65 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 65 8 65 17
                  , srcInfoPoints = []
                  }
                "Data.List"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      ]
      [ TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 1 105 68
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 104 13 104 15 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 1 104 12
                , srcInfoPoints = []
                }
              "mkLocalRule"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 16 105 68
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 104 25 104 27 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 16 104 24
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 16 104 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 16 104 24
                        , srcInfoPoints = []
                        }
                      "RuleName")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 28 105 68
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 105 9 105 11 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 28 104 38
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 28 104 38
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 104 28 104 38
                           , srcInfoPoints = []
                           }
                         "Activation")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 12 105 68
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 105 17 105 19 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 12 105 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 12 105 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 12 105 16
                              , srcInfoPoints = []
                              }
                            "Name")))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 20 105 68
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 105 31 105 33 ]
                        }
                      (TyList
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 20 105 30
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 105 20 105 21
                               , SrcSpan "tests/examples/RealGHC.lhs" 105 29 105 30
                               ]
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 21 105 29
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 21 105 29
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 105 21 105 29
                                    , srcInfoPoints = []
                                    }
                                  "CoreBndr"))))
                      (TyFun
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 34 105 68
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 105 45 105 47 ]
                           }
                         (TyList
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 34 105 44
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/RealGHC.lhs" 105 34 105 35
                                  , SrcSpan "tests/examples/RealGHC.lhs" 105 43 105 44
                                  ]
                              }
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 35 105 43
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 105 35 105 43
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 105 35 105 43
                                       , srcInfoPoints = []
                                       }
                                     "CoreExpr"))))
                         (TyFun
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 48 105 68
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/RealGHC.lhs" 105 57 105 59 ]
                              }
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 48 105 56
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 105 48 105 56
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 105 48 105 56
                                       , srcInfoPoints = []
                                       }
                                     "CoreExpr")))
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 105 60 105 68
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 105 60 105 68
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 105 60 105 68
                                       , srcInfoPoints = []
                                       }
                                     "CoreRule")))))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 1 112 25
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 1 112 25
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 1 108 12
                   , srcInfoPoints = []
                   }
                 "mkLocalRule")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 13 108 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 13 108 17
                       , srcInfoPoints = []
                       }
                     "name")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 18 108 21
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 18 108 21
                       , srcInfoPoints = []
                       }
                     "act")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 22 108 24
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 22 108 24
                       , srcInfoPoints = []
                       }
                     "fn")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 25 108 30
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 25 108 30
                       , srcInfoPoints = []
                       }
                     "bndrs")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 31 108 35
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 31 108 35
                       , srcInfoPoints = []
                       }
                     "args")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 36 108 39
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 108 36 108 39
                       , srcInfoPoints = []
                       }
                     "rhs")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 3 112 25
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 109 3 109 4 ]
                   }
                 (RecConstr
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 5 112 25
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 109 10 109 11
                          , SrcSpan "tests/examples/RealGHC.lhs" 109 26 109 27
                          , SrcSpan "tests/examples/RealGHC.lhs" 109 38 109 39
                          , SrcSpan "tests/examples/RealGHC.lhs" 109 52 109 53
                          , SrcSpan "tests/examples/RealGHC.lhs" 110 24 110 25
                          , SrcSpan "tests/examples/RealGHC.lhs" 110 40 110 41
                          , SrcSpan "tests/examples/RealGHC.lhs" 111 20 111 21
                          , SrcSpan "tests/examples/RealGHC.lhs" 111 51 111 52
                          , SrcSpan "tests/examples/RealGHC.lhs" 112 24 112 25
                          ]
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 5 109 9
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 5 109 9
                            , srcInfoPoints = []
                            }
                          "Rule"))
                    [ FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 12 109 26
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 109 20 109 21 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 12 109 19
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 12 109 19
                                , srcInfoPoints = []
                                }
                              "ru_name"))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 22 109 26
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 22 109 26
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 109 22 109 26
                                   , srcInfoPoints = []
                                   }
                                 "name")))
                    , FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 28 109 38
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 109 34 109 35 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 28 109 33
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 28 109 33
                                , srcInfoPoints = []
                                }
                              "ru_fn"))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 36 109 38
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 36 109 38
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 109 36 109 38
                                   , srcInfoPoints = []
                                   }
                                 "fn")))
                    , FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 40 109 52
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 109 47 109 48 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 40 109 46
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 40 109 46
                                , srcInfoPoints = []
                                }
                              "ru_act"))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 49 109 52
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 109 49 109 52
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 109 49 109 52
                                   , srcInfoPoints = []
                                   }
                                 "act")))
                    , FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 8 110 24
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 110 17 110 18 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 8 110 16
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 8 110 16
                                , srcInfoPoints = []
                                }
                              "ru_bndrs"))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 19 110 24
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 19 110 24
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 110 19 110 24
                                   , srcInfoPoints = []
                                   }
                                 "bndrs")))
                    , FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 26 110 40
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 110 34 110 35 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 26 110 33
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 26 110 33
                                , srcInfoPoints = []
                                }
                              "ru_args"))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 36 110 40
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 110 36 110 40
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 110 36 110 40
                                   , srcInfoPoints = []
                                   }
                                 "args")))
                    , FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 8 111 20
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 111 15 111 16 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 8 111 14
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 8 111 14
                                , srcInfoPoints = []
                                }
                              "ru_rhs"))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 17 111 20
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 17 111 20
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 111 17 111 20
                                   , srcInfoPoints = []
                                   }
                                 "rhs")))
                    , FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 22 111 51
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 111 31 111 32 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 22 111 30
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 22 111 30
                                , srcInfoPoints = []
                                }
                              "ru_rough"))
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 33 111 51
                             , srcInfoPoints = []
                             }
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 33 111 46
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 111 33 111 46
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 111 33 111 46
                                      , srcInfoPoints = []
                                      }
                                    "roughTopNames")))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 111 47 111 51
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 111 47 111 51
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 111 47 111 51
                                      , srcInfoPoints = []
                                      }
                                    "args"))))
                    , FieldUpdate
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 112 8 112 23
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 112 17 112 18 ]
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 112 8 112 16
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 112 8 112 16
                                , srcInfoPoints = []
                                }
                              "ru_local"))
                        (Con
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 112 19 112 23
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 112 19 112 23
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 112 19 112 23
                                   , srcInfoPoints = []
                                   }
                                 "True")))
                    ]))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 1 115 44
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 115 15 115 17 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 1 115 14
                , srcInfoPoints = []
                }
              "roughTopNames"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 18 115 44
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 115 29 115 31 ]
               }
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 18 115 28
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 115 18 115 19
                      , SrcSpan "tests/examples/RealGHC.lhs" 115 27 115 28
                      ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 19 115 27
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 19 115 27
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 19 115 27
                           , srcInfoPoints = []
                           }
                         "CoreExpr"))))
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 32 115 44
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 115 32 115 33
                      , SrcSpan "tests/examples/RealGHC.lhs" 115 43 115 44
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 33 115 43
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 33 115 38
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 33 115 38
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 33 115 38
                              , srcInfoPoints = []
                              }
                            "Maybe")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 39 115 43
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 39 115 43
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 115 39 115 43
                              , srcInfoPoints = []
                              }
                            "Name"))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 1 126 43
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 1 126 43
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 1 126 14
                   , srcInfoPoints = []
                   }
                 "roughTopNames")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 15 126 19
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 15 126 19
                       , srcInfoPoints = []
                       }
                     "args")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 20 126 43
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 126 20 126 21 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 22 126 43
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 22 126 38
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 22 126 25
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 22 126 25
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 22 126 25
                                  , srcInfoPoints = []
                                  }
                                "map")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 26 126 38
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 26 126 38
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 26 126 38
                                  , srcInfoPoints = []
                                  }
                                "roughTopName"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 39 126 43
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 39 126 43
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 126 39 126 43
                               , srcInfoPoints = []
                               }
                             "args")))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 1 128 39
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 128 14 128 16 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 1 128 13
                , srcInfoPoints = []
                }
              "roughTopName"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 17 128 39
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 128 26 128 28 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 17 128 25
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 17 128 25
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 17 128 25
                        , srcInfoPoints = []
                        }
                      "CoreExpr")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 29 128 39
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 29 128 34
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 29 128 34
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 29 128 34
                           , srcInfoPoints = []
                           }
                         "Maybe")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 35 128 39
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 35 128 39
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 128 35 128 39
                           , srcInfoPoints = []
                           }
                         "Name")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 1 135 29
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 1 131 37
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 1 129 13
                   , srcInfoPoints = []
                   }
                 "roughTopName")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 14 129 23
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 129 14 129 15
                        , SrcSpan "tests/examples/RealGHC.lhs" 129 22 129 23
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 15 129 22
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 15 129 19
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 15 129 19
                             , srcInfoPoints = []
                             }
                           "Type"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 20 129 22
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 20 129 22
                              , srcInfoPoints = []
                              }
                            "ty")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 24 131 37
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 129 24 129 25 ]
                   }
                 (Case
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 26 131 37
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 129 26 129 30
                          , SrcSpan "tests/examples/RealGHC.lhs" 129 56 129 58
                          , SrcSpan "tests/examples/RealGHC.lhs" 130 15 130 15
                          , SrcSpan "tests/examples/RealGHC.lhs" 131 15 131 15
                          , SrcSpan "tests/examples/RealGHC.lhs" 132 1 132 0
                          ]
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 31 129 55
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 31 129 52
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 31 129 52
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 31 129 52
                                  , srcInfoPoints = []
                                  }
                                "tcSplitTyConApp_maybe")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 53 129 55
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 53 129 55
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 129 53 129 55
                                  , srcInfoPoints = []
                                  }
                                "ty"))))
                    [ Alt
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 130 15 130 47
                          , srcInfoPoints = []
                          }
                        (PApp
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 130 15 130 26
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 130 15 130 19
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 130 15 130 19
                                   , srcInfoPoints = []
                                   }
                                 "Just"))
                           [ PTuple
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 130 20 130 26
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 130 20 130 21
                                     , SrcSpan "tests/examples/RealGHC.lhs" 130 23 130 24
                                     , SrcSpan "tests/examples/RealGHC.lhs" 130 25 130 26
                                     ]
                                 }
                               Boxed
                               [ PVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 130 21 130 23
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 130 21 130 23
                                        , srcInfoPoints = []
                                        }
                                      "tc")
                               , PWildCard
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 130 24 130 25
                                     , srcInfoPoints = []
                                     }
                               ]
                           ])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 130 27 130 47
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 130 27 130 29 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 130 30 130 47
                                , srcInfoPoints = []
                                }
                              (Con
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 130 30 130 34
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 130 30 130 34
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 130 30 130 34
                                         , srcInfoPoints = []
                                         }
                                       "Just")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 130 35 130 47
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 130 35 130 36
                                       , SrcSpan "tests/examples/RealGHC.lhs" 130 46 130 47
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 130 36 130 46
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 130 36 130 43
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 130 36 130 43
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 130 36 130 43
                                               , srcInfoPoints = []
                                               }
                                             "getName")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 130 44 130 46
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 130 44 130 46
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 130 44 130 46
                                               , srcInfoPoints = []
                                               }
                                             "tc")))))))
                        Nothing
                    , Alt
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 131 15 131 37
                          , srcInfoPoints = []
                          }
                        (PApp
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 131 15 131 22
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 131 15 131 22
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 131 15 131 22
                                   , srcInfoPoints = []
                                   }
                                 "Nothing"))
                           [])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 131 27 131 37
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 131 27 131 29 ]
                             }
                           (Con
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 131 30 131 37
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 131 30 131 37
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 131 30 131 37
                                      , srcInfoPoints = []
                                      }
                                    "Nothing"))))
                        Nothing
                    ]))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 1 132 40
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 1 132 13
                   , srcInfoPoints = []
                   }
                 "roughTopName")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 14 132 23
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 132 14 132 15
                        , SrcSpan "tests/examples/RealGHC.lhs" 132 22 132 23
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 15 132 22
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 15 132 18
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 15 132 18
                             , srcInfoPoints = []
                             }
                           "App"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 19 132 20
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 19 132 20
                              , srcInfoPoints = []
                              }
                            "f")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 21 132 22
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 21 132 22
                              , srcInfoPoints = []
                              }
                            "a")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 24 132 40
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 132 24 132 25 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 26 132 40
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 26 132 38
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 26 132 38
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 26 132 38
                               , srcInfoPoints = []
                               }
                             "roughTopName")))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 39 132 40
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 39 132 40
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 132 39 132 40
                               , srcInfoPoints = []
                               }
                             "f")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 1 134 38
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 1 133 13
                   , srcInfoPoints = []
                   }
                 "roughTopName")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 14 133 21
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 133 14 133 15
                        , SrcSpan "tests/examples/RealGHC.lhs" 133 20 133 21
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 15 133 20
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 15 133 18
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 15 133 18
                             , srcInfoPoints = []
                             }
                           "Var"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 19 133 20
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 19 133 20
                              , srcInfoPoints = []
                              }
                            "f")
                     ])
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 22 134 38
                   , srcInfoPoints = []
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 22 133 54
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 133 22 133 23
                           , SrcSpan "tests/examples/RealGHC.lhs" 133 37 133 38
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 24 133 36
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 24 133 36
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 24 133 34
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 133 24 133 34
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 133 24 133 34
                                       , srcInfoPoints = []
                                       }
                                     "isGlobalId")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 35 133 36
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 133 35 133 36
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 133 35 133 36
                                       , srcInfoPoints = []
                                       }
                                     "f"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 39 133 54
                          , srcInfoPoints = []
                          }
                        (Con
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 39 133 43
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 39 133 43
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 133 39 133 43
                                   , srcInfoPoints = []
                                   }
                                 "Just")))
                        (Paren
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 44 133 54
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 133 44 133 45
                                 , SrcSpan "tests/examples/RealGHC.lhs" 133 53 133 54
                                 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 133 45 133 53
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 133 45 133 51
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 133 45 133 51
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 133 45 133 51
                                         , srcInfoPoints = []
                                         }
                                       "idName")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 133 52 133 53
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 133 52 133 53
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 133 52 133 53
                                         , srcInfoPoints = []
                                         }
                                       "f"))))))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 134 14 134 38
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 134 14 134 15
                           , SrcSpan "tests/examples/RealGHC.lhs" 134 29 134 30
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 134 16 134 25
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 134 16 134 25
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 134 16 134 25
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 134 16 134 25
                                    , srcInfoPoints = []
                                    }
                                  "otherwise")))
                     ]
                     (Con
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 134 31 134 38
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 134 31 134 38
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 134 31 134 38
                                , srcInfoPoints = []
                                }
                              "Nothing")))
                 ])
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 1 135 29
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 1 135 13
                   , srcInfoPoints = []
                   }
                 "roughTopName")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 14 135 19
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 14 135 19
                       , srcInfoPoints = []
                       }
                     "other")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 20 135 29
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 135 20 135 21 ]
                   }
                 (Con
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 22 135 29
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 22 135 29
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 135 22 135 29
                            , srcInfoPoints = []
                            }
                          "Nothing"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 1 137 54
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 137 15 137 17 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 1 137 14
                , srcInfoPoints = []
                }
              "ruleCantMatch"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 18 137 54
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 137 31 137 33 ]
               }
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 18 137 30
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 137 18 137 19
                      , SrcSpan "tests/examples/RealGHC.lhs" 137 29 137 30
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 19 137 29
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 19 137 24
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 19 137 24
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 19 137 24
                              , srcInfoPoints = []
                              }
                            "Maybe")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 25 137 29
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 25 137 29
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 25 137 29
                              , srcInfoPoints = []
                              }
                            "Name")))))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 34 137 54
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 137 47 137 49 ]
                  }
                (TyList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 34 137 46
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 137 34 137 35
                         , SrcSpan "tests/examples/RealGHC.lhs" 137 45 137 46
                         ]
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 35 137 45
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 35 137 40
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 35 137 40
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 35 137 40
                                 , srcInfoPoints = []
                                 }
                               "Maybe")))
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 41 137 45
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 41 137 45
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 41 137 45
                                 , srcInfoPoints = []
                                 }
                               "Name")))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 50 137 54
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 50 137 54
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 137 50 137 54
                           , srcInfoPoints = []
                           }
                         "Bool")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 1 152 44
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 1 150 78
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 1 150 14
                   , srcInfoPoints = []
                   }
                 "ruleCantMatch")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 15 150 29
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 150 15 150 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 150 28 150 29
                        ]
                    }
                  (PInfixApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 16 150 28
                       , srcInfoPoints = []
                       }
                     (PApp
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 16 150 23
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 16 150 20
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 16 150 20
                                , srcInfoPoints = []
                                }
                              "Just"))
                        [ PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 21 150 23
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 21 150 23
                                 , srcInfoPoints = []
                                 }
                               "n1")
                        ])
                     (Special
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 24 150 25
                          , srcInfoPoints = []
                          }
                        (Cons
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 24 150 25
                             , srcInfoPoints = []
                             }))
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 26 150 28
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 26 150 28
                             , srcInfoPoints = []
                             }
                           "ts")))
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 30 150 44
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 150 30 150 31
                        , SrcSpan "tests/examples/RealGHC.lhs" 150 43 150 44
                        ]
                    }
                  (PInfixApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 31 150 43
                       , srcInfoPoints = []
                       }
                     (PApp
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 31 150 38
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 31 150 35
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 31 150 35
                                , srcInfoPoints = []
                                }
                              "Just"))
                        [ PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 36 150 38
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 36 150 38
                                 , srcInfoPoints = []
                                 }
                               "n2")
                        ])
                     (Special
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 39 150 40
                          , srcInfoPoints = []
                          }
                        (Cons
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 39 150 40
                             , srcInfoPoints = []
                             }))
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 41 150 43
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 41 150 43
                             , srcInfoPoints = []
                             }
                           "as")))
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 45 150 78
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 150 45 150 46 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 47 150 78
                      , srcInfoPoints = []
                      }
                    (InfixApp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 47 150 55
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 47 150 49
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 47 150 49
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 47 150 49
                                  , srcInfoPoints = []
                                  }
                                "n1")))
                       (QVarOp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 50 150 52
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 50 150 52
                               , srcInfoPoints = []
                               }
                             (Symbol
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 50 150 52
                                  , srcInfoPoints = []
                                  }
                                "/=")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 53 150 55
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 53 150 55
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 53 150 55
                                  , srcInfoPoints = []
                                  }
                                "n2"))))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 56 150 58
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 56 150 58
                            , srcInfoPoints = []
                            }
                          (Symbol
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 56 150 58
                               , srcInfoPoints = []
                               }
                             "||")))
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 59 150 78
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 59 150 75
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 59 150 72
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 59 150 72
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 150 59 150 72
                                     , srcInfoPoints = []
                                     }
                                   "ruleCantMatch")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 73 150 75
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 73 150 75
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 150 73 150 75
                                     , srcInfoPoints = []
                                     }
                                   "ts"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 76 150 78
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 76 150 78
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 150 76 150 78
                                  , srcInfoPoints = []
                                  }
                                "as"))))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 1 151 66
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 1 151 14
                   , srcInfoPoints = []
                   }
                 "ruleCantMatch")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 15 151 29
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 151 15 151 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 151 28 151 29
                        ]
                    }
                  (PInfixApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 16 151 28
                       , srcInfoPoints = []
                       }
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 16 151 17
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 16 151 17
                             , srcInfoPoints = []
                             }
                           "t"))
                     (Special
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 24 151 25
                          , srcInfoPoints = []
                          }
                        (Cons
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 24 151 25
                             , srcInfoPoints = []
                             }))
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 26 151 28
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 26 151 28
                             , srcInfoPoints = []
                             }
                           "ts")))
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 30 151 44
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 151 30 151 31
                        , SrcSpan "tests/examples/RealGHC.lhs" 151 43 151 44
                        ]
                    }
                  (PInfixApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 31 151 43
                       , srcInfoPoints = []
                       }
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 31 151 32
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 31 151 32
                             , srcInfoPoints = []
                             }
                           "a"))
                     (Special
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 39 151 40
                          , srcInfoPoints = []
                          }
                        (Cons
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 39 151 40
                             , srcInfoPoints = []
                             }))
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 41 151 43
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 41 151 43
                             , srcInfoPoints = []
                             }
                           "as")))
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 45 151 66
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 151 45 151 46 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 47 151 66
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 47 151 63
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 47 151 60
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 47 151 60
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 47 151 60
                                  , srcInfoPoints = []
                                  }
                                "ruleCantMatch")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 61 151 63
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 61 151 63
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 61 151 63
                                  , srcInfoPoints = []
                                  }
                                "ts"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 64 151 66
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 64 151 66
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 151 64 151 66
                               , srcInfoPoints = []
                               }
                             "as")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 1 152 44
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 1 152 14
                   , srcInfoPoints = []
                   }
                 "ruleCantMatch")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 15 152 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 15 152 17
                       , srcInfoPoints = []
                       }
                     "ts")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 26 152 28
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 26 152 28
                       , srcInfoPoints = []
                       }
                     "as")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 37 152 44
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 152 37 152 38 ]
                   }
                 (Con
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 39 152 44
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 39 152 44
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 152 39 152 44
                            , srcInfoPoints = []
                            }
                          "False"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 1 156 38
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 156 17 156 19 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 1 156 16
                , srcInfoPoints = []
                }
              "pprRulesForUser"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 20 156 38
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 156 31 156 33 ]
               }
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 20 156 30
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 156 20 156 21
                      , SrcSpan "tests/examples/RealGHC.lhs" 156 29 156 30
                      ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 21 156 29
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 21 156 29
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 21 156 29
                           , srcInfoPoints = []
                           }
                         "CoreRule"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 34 156 38
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 34 156 38
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 156 34 156 38
                        , srcInfoPoints = []
                        }
                      "SDoc"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 162 1 168 45
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 167 3 167 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 162 1 168 45
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 167 3 167 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 162 1 162 16
                   , srcInfoPoints = []
                   }
                 "pprRulesForUser")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 162 17 162 22
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 162 17 162 22
                       , srcInfoPoints = []
                       }
                     "rules")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 3 166 33
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 163 3 163 4 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 5 166 33
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 5 163 34
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 5 163 17
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 5 163 17
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 5 163 17
                                  , srcInfoPoints = []
                                  }
                                "withPprStyle")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 18 163 34
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 18 163 34
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 18 163 34
                                  , srcInfoPoints = []
                                  }
                                "defaultUserStyle"))))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 35 163 36
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 35 163 36
                            , srcInfoPoints = []
                            }
                          (Symbol
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 163 35 163 36
                               , srcInfoPoints = []
                               }
                             "$")))
                    (InfixApp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 164 5 166 33
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 164 5 164 13
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 164 5 164 13
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 164 5 164 13
                                  , srcInfoPoints = []
                                  }
                                "pprRules")))
                       (QVarOp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 164 14 164 15
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 164 14 164 15
                               , srcInfoPoints = []
                               }
                             (Symbol
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 164 14 164 15
                                  , srcInfoPoints = []
                                  }
                                "$")))
                       (InfixApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 165 5 166 33
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 165 5 165 19
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 165 5 165 11
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 165 5 165 11
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 165 5 165 11
                                        , srcInfoPoints = []
                                        }
                                      "sortLe")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 165 12 165 19
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 165 12 165 19
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 165 12 165 19
                                        , srcInfoPoints = []
                                        }
                                      "le_rule"))))
                          (QVarOp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 165 21 165 22
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 165 21 165 22
                                  , srcInfoPoints = []
                                  }
                                (Symbol
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 165 21 165 22
                                     , srcInfoPoints = []
                                     }
                                   "$")))
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 166 5 166 33
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 166 5 166 27
                                  , srcInfoPoints = []
                                  }
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 166 5 166 14
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 166 5 166 14
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 166 5 166 14
                                           , srcInfoPoints = []
                                           }
                                         "tidyRules")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 166 15 166 27
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 166 15 166 27
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 166 15 166 27
                                           , srcInfoPoints = []
                                           }
                                         "emptyTidyEnv"))))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 166 28 166 33
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 166 28 166 33
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 166 28 166 33
                                        , srcInfoPoints = []
                                        }
                                      "rules"))))))))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 168 5 168 45
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 168 5 168 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 181 1 181 0
                          ]
                      }
                    [ FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 168 5 168 45
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 168 5 168 45
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 168 5 168 12
                                 , srcInfoPoints = []
                                 }
                               "le_rule")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 168 13 168 15
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 168 13 168 15
                                     , srcInfoPoints = []
                                     }
                                   "r1")
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 168 16 168 18
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 168 16 168 18
                                     , srcInfoPoints = []
                                     }
                                   "r2")
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 168 19 168 45
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 168 19 168 20 ]
                                 }
                               (InfixApp
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 168 21 168 45
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 168 21 168 31
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 168 21 168 28
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 168 21 168 28
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 168 21 168 28
                                                , srcInfoPoints = []
                                                }
                                              "ru_name")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 168 29 168 31
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 168 29 168 31
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 168 29 168 31
                                                , srcInfoPoints = []
                                                }
                                              "r1"))))
                                  (QVarOp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 168 32 168 34
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 168 32 168 34
                                          , srcInfoPoints = []
                                          }
                                        (Symbol
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 168 32 168 34
                                             , srcInfoPoints = []
                                             }
                                           "<=")))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 168 35 168 45
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 168 35 168 42
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 168 35 168 42
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 168 35 168 42
                                                , srcInfoPoints = []
                                                }
                                              "ru_name")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 168 43 168 45
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 168 43 168 45
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 168 43 168 45
                                                , srcInfoPoints = []
                                                }
                                              "r2"))))))
                            Nothing
                        ]
                    ]))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 1 181 37
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 181 12 181 14 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 1 181 11
                , srcInfoPoints = []
                }
              "mkSpecInfo"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 15 181 37
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 181 26 181 28 ]
               }
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 15 181 25
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 181 15 181 16
                      , SrcSpan "tests/examples/RealGHC.lhs" 181 24 181 25
                      ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 16 181 24
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 16 181 24
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 16 181 24
                           , srcInfoPoints = []
                           }
                         "CoreRule"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 29 181 37
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 29 181 37
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 181 29 181 37
                        , srcInfoPoints = []
                        }
                      "SpecInfo"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 1 182 56
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 1 182 56
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 1 182 11
                   , srcInfoPoints = []
                   }
                 "mkSpecInfo")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 12 182 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 12 182 17
                       , srcInfoPoints = []
                       }
                     "rules")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 18 182 56
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 182 18 182 19 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 20 182 56
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 20 182 34
                         , srcInfoPoints = []
                         }
                       (Con
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 20 182 28
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 20 182 28
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 20 182 28
                                  , srcInfoPoints = []
                                  }
                                "SpecInfo")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 29 182 34
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 29 182 34
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 29 182 34
                                  , srcInfoPoints = []
                                  }
                                "rules"))))
                    (Paren
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 35 182 56
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 182 35 182 36
                             , SrcSpan "tests/examples/RealGHC.lhs" 182 55 182 56
                             ]
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 36 182 55
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 36 182 49
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 36 182 49
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 182 36 182 49
                                     , srcInfoPoints = []
                                     }
                                   "rulesFreeVars")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 50 182 55
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 182 50 182 55
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 182 50 182 55
                                     , srcInfoPoints = []
                                     }
                                   "rules")))))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 1 184 53
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 184 16 184 18 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 1 184 15
                , srcInfoPoints = []
                }
              "extendSpecInfo"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 19 184 53
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 184 28 184 30 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 19 184 27
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 19 184 27
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 19 184 27
                        , srcInfoPoints = []
                        }
                      "SpecInfo")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 31 184 53
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 184 42 184 44 ]
                  }
                (TyList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 31 184 41
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 184 31 184 32
                         , SrcSpan "tests/examples/RealGHC.lhs" 184 40 184 41
                         ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 32 184 40
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 32 184 40
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 32 184 40
                              , srcInfoPoints = []
                              }
                            "CoreRule"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 45 184 53
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 45 184 53
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 184 45 184 53
                           , srcInfoPoints = []
                           }
                         "SpecInfo")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 1 186 65
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 1 186 65
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 1 185 15
                   , srcInfoPoints = []
                   }
                 "extendSpecInfo")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 16 185 35
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 185 16 185 17
                        , SrcSpan "tests/examples/RealGHC.lhs" 185 34 185 35
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 17 185 34
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 17 185 25
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 17 185 25
                             , srcInfoPoints = []
                             }
                           "SpecInfo"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 26 185 29
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 26 185 29
                              , srcInfoPoints = []
                              }
                            "rs1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 30 185 34
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 30 185 34
                              , srcInfoPoints = []
                              }
                            "fvs1")
                     ])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 36 185 39
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 185 36 185 39
                       , srcInfoPoints = []
                       }
                     "rs2")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 3 186 65
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 186 3 186 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 5 186 65
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 5 186 26
                         , srcInfoPoints = []
                         }
                       (Con
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 5 186 13
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 5 186 13
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 5 186 13
                                  , srcInfoPoints = []
                                  }
                                "SpecInfo")))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 14 186 26
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 186 14 186 15
                                , SrcSpan "tests/examples/RealGHC.lhs" 186 25 186 26
                                ]
                            }
                          (InfixApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 15 186 25
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 15 186 18
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 186 15 186 18
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 186 15 186 18
                                        , srcInfoPoints = []
                                        }
                                      "rs2")))
                             (QVarOp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 19 186 21
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 186 19 186 21
                                     , srcInfoPoints = []
                                     }
                                   (Symbol
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 186 19 186 21
                                        , srcInfoPoints = []
                                        }
                                      "++")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 22 186 25
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 186 22 186 25
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 186 22 186 25
                                        , srcInfoPoints = []
                                        }
                                      "rs1"))))))
                    (Paren
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 27 186 65
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 186 27 186 28
                             , SrcSpan "tests/examples/RealGHC.lhs" 186 64 186 65
                             ]
                         }
                       (InfixApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 28 186 64
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 28 186 45
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 28 186 41
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 186 28 186 41
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 186 28 186 41
                                        , srcInfoPoints = []
                                        }
                                      "rulesFreeVars")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 42 186 45
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 186 42 186 45
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 186 42 186 45
                                        , srcInfoPoints = []
                                        }
                                      "rs2"))))
                          (QVarOp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 46 186 59
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RealGHC.lhs" 186 46 186 47
                                   , SrcSpan "tests/examples/RealGHC.lhs" 186 47 186 58
                                   , SrcSpan "tests/examples/RealGHC.lhs" 186 58 186 59
                                   ]
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 46 186 59
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 186 46 186 47
                                      , SrcSpan "tests/examples/RealGHC.lhs" 186 47 186 58
                                      , SrcSpan "tests/examples/RealGHC.lhs" 186 58 186 59
                                      ]
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 186 47 186 58
                                     , srcInfoPoints = []
                                     }
                                   "unionVarSet")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 60 186 64
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 186 60 186 64
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 186 60 186 64
                                     , srcInfoPoints = []
                                     }
                                   "fvs1")))))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 1 188 48
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 188 13 188 15 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 1 188 12
                , srcInfoPoints = []
                }
              "addSpecInfo"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 16 188 48
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 188 25 188 27 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 16 188 24
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 16 188 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 16 188 24
                        , srcInfoPoints = []
                        }
                      "SpecInfo")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 28 188 48
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 188 37 188 39 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 28 188 36
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 28 188 36
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 28 188 36
                           , srcInfoPoints = []
                           }
                         "SpecInfo")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 40 188 48
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 40 188 48
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 188 40 188 48
                           , srcInfoPoints = []
                           }
                         "SpecInfo")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 1 190 52
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 1 190 52
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 1 189 12
                   , srcInfoPoints = []
                   }
                 "addSpecInfo")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 13 189 32
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 189 13 189 14
                        , SrcSpan "tests/examples/RealGHC.lhs" 189 31 189 32
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 14 189 31
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 14 189 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 14 189 22
                             , srcInfoPoints = []
                             }
                           "SpecInfo"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 23 189 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 23 189 26
                              , srcInfoPoints = []
                              }
                            "rs1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 27 189 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 27 189 31
                              , srcInfoPoints = []
                              }
                            "fvs1")
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 33 189 52
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 189 33 189 34
                        , SrcSpan "tests/examples/RealGHC.lhs" 189 51 189 52
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 34 189 51
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 34 189 42
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 34 189 42
                             , srcInfoPoints = []
                             }
                           "SpecInfo"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 43 189 46
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 43 189 46
                              , srcInfoPoints = []
                              }
                            "rs2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 47 189 51
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 189 47 189 51
                              , srcInfoPoints = []
                              }
                            "fvs2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 3 190 52
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 190 3 190 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 5 190 52
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 5 190 26
                         , srcInfoPoints = []
                         }
                       (Con
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 5 190 13
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 5 190 13
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 5 190 13
                                  , srcInfoPoints = []
                                  }
                                "SpecInfo")))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 14 190 26
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 190 14 190 15
                                , SrcSpan "tests/examples/RealGHC.lhs" 190 25 190 26
                                ]
                            }
                          (InfixApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 15 190 25
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 15 190 18
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 190 15 190 18
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 190 15 190 18
                                        , srcInfoPoints = []
                                        }
                                      "rs1")))
                             (QVarOp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 19 190 21
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 190 19 190 21
                                     , srcInfoPoints = []
                                     }
                                   (Symbol
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 190 19 190 21
                                        , srcInfoPoints = []
                                        }
                                      "++")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 22 190 25
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 190 22 190 25
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 190 22 190 25
                                        , srcInfoPoints = []
                                        }
                                      "rs2"))))))
                    (Paren
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 27 190 52
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 190 27 190 28
                             , SrcSpan "tests/examples/RealGHC.lhs" 190 51 190 52
                             ]
                         }
                       (InfixApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 28 190 51
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 28 190 32
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 28 190 32
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 190 28 190 32
                                     , srcInfoPoints = []
                                     }
                                   "fvs1")))
                          (QVarOp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 33 190 46
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RealGHC.lhs" 190 33 190 34
                                   , SrcSpan "tests/examples/RealGHC.lhs" 190 34 190 45
                                   , SrcSpan "tests/examples/RealGHC.lhs" 190 45 190 46
                                   ]
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 33 190 46
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 190 33 190 34
                                      , SrcSpan "tests/examples/RealGHC.lhs" 190 34 190 45
                                      , SrcSpan "tests/examples/RealGHC.lhs" 190 45 190 46
                                      ]
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 190 34 190 45
                                     , srcInfoPoints = []
                                     }
                                   "unionVarSet")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 47 190 51
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 190 47 190 51
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 190 47 190 51
                                     , srcInfoPoints = []
                                     }
                                   "fvs2")))))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 1 192 47
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 192 22 192 24 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 1 192 21
                , srcInfoPoints = []
                }
              "addIdSpecialisations"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 25 192 47
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 192 28 192 30 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 25 192 27
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 25 192 27
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 25 192 27
                        , srcInfoPoints = []
                        }
                      "Id")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 31 192 47
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 192 42 192 44 ]
                  }
                (TyList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 31 192 41
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 192 31 192 32
                         , SrcSpan "tests/examples/RealGHC.lhs" 192 40 192 41
                         ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 32 192 40
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 32 192 40
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 32 192 40
                              , srcInfoPoints = []
                              }
                            "CoreRule"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 45 192 47
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 45 192 47
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 192 45 192 47
                           , srcInfoPoints = []
                           }
                         "Id")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 193 1 197 47
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 193 1 194 7
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 193 1 193 21
                   , srcInfoPoints = []
                   }
                 "addIdSpecialisations")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 193 22 193 24
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 193 22 193 24
                       , srcInfoPoints = []
                       }
                     "id")
              , PList
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 193 25 193 27
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 193 25 193 26
                        , SrcSpan "tests/examples/RealGHC.lhs" 193 26 193 27
                        ]
                    }
                  []
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 194 3 194 7
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 194 3 194 4 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 194 5 194 7
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 194 5 194 7
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 194 5 194 7
                            , srcInfoPoints = []
                            }
                          "id"))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 195 1 197 47
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 195 1 195 21
                   , srcInfoPoints = []
                   }
                 "addIdSpecialisations")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 195 22 195 24
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 195 22 195 24
                       , srcInfoPoints = []
                       }
                     "id")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 195 25 195 30
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 195 25 195 30
                       , srcInfoPoints = []
                       }
                     "rules")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 3 197 47
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 196 3 196 4 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 5 197 47
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 5 196 27
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 5 196 24
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 5 196 24
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 5 196 24
                                  , srcInfoPoints = []
                                  }
                                "setIdSpecialisation")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 25 196 27
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 25 196 27
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 25 196 27
                                  , srcInfoPoints = []
                                  }
                                "id"))))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 28 196 29
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 28 196 29
                            , srcInfoPoints = []
                            }
                          (Symbol
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 196 28 196 29
                               , srcInfoPoints = []
                               }
                             "$")))
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 5 197 47
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 5 197 41
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 5 197 19
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 5 197 19
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 197 5 197 19
                                     , srcInfoPoints = []
                                     }
                                   "extendSpecInfo")))
                          (Paren
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 20 197 41
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RealGHC.lhs" 197 20 197 21
                                   , SrcSpan "tests/examples/RealGHC.lhs" 197 40 197 41
                                   ]
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 21 197 40
                                  , srcInfoPoints = []
                                  }
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 197 21 197 37
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 197 21 197 37
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 197 21 197 37
                                           , srcInfoPoints = []
                                           }
                                         "idSpecialisation")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 197 38 197 40
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 197 38 197 40
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 197 38 197 40
                                           , srcInfoPoints = []
                                           }
                                         "id"))))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 42 197 47
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 42 197 47
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 197 42 197 47
                                  , srcInfoPoints = []
                                  }
                                "rules"))))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 1 200 41
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 200 14 200 16 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 1 200 13
                , srcInfoPoints = []
                }
              "rulesOfBinds"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 17 200 41
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 200 28 200 30 ]
               }
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 17 200 27
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 200 17 200 18
                      , SrcSpan "tests/examples/RealGHC.lhs" 200 26 200 27
                      ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 18 200 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 18 200 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 18 200 26
                           , srcInfoPoints = []
                           }
                         "CoreBind"))))
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 31 200 41
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 200 31 200 32
                      , SrcSpan "tests/examples/RealGHC.lhs" 200 40 200 41
                      ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 32 200 40
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 32 200 40
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 200 32 200 40
                           , srcInfoPoints = []
                           }
                         "CoreRule")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 1 201 73
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 1 201 73
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 1 201 13
                   , srcInfoPoints = []
                   }
                 "rulesOfBinds")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 14 201 19
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 14 201 19
                       , srcInfoPoints = []
                       }
                     "binds")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 20 201 73
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 201 20 201 21 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 22 201 73
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 22 201 67
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 22 201 31
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 22 201 31
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 22 201 31
                                  , srcInfoPoints = []
                                  }
                                "concatMap")))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 32 201 67
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 201 32 201 33
                                , SrcSpan "tests/examples/RealGHC.lhs" 201 66 201 67
                                ]
                            }
                          (InfixApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 33 201 66
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 33 201 54
                                  , srcInfoPoints = []
                                  }
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 201 33 201 42
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 201 33 201 42
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 201 33 201 42
                                           , srcInfoPoints = []
                                           }
                                         "concatMap")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 201 43 201 54
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 201 43 201 54
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 201 43 201 54
                                           , srcInfoPoints = []
                                           }
                                         "idCoreRules"))))
                             (QVarOp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 55 201 56
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 201 55 201 56
                                     , srcInfoPoints = []
                                     }
                                   (Symbol
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 201 55 201 56
                                        , srcInfoPoints = []
                                        }
                                      ".")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 57 201 66
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 201 57 201 66
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 201 57 201 66
                                        , srcInfoPoints = []
                                        }
                                      "bindersOf"))))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 68 201 73
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 68 201 73
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 201 68 201 73
                               , srcInfoPoints = []
                               }
                             "binds")))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 1 203 41
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 203 10 203 12 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 1 203 9
                , srcInfoPoints = []
                }
              "getRules"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 13 203 41
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 203 22 203 24 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 13 203 21
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 13 203 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 13 203 21
                        , srcInfoPoints = []
                        }
                      "RuleBase")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 25 203 41
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 203 28 203 30 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 25 203 27
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 25 203 27
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 25 203 27
                           , srcInfoPoints = []
                           }
                         "Id")))
                (TyList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 31 203 41
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 203 31 203 32
                         , SrcSpan "tests/examples/RealGHC.lhs" 203 40 203 41
                         ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 32 203 40
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 32 203 40
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 203 32 203 40
                              , srcInfoPoints = []
                              }
                            "CoreRule"))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 208 1 212 80
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 208 1 212 80
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 208 1 208 9
                   , srcInfoPoints = []
                   }
                 "getRules")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 208 10 208 19
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 208 10 208 19
                       , srcInfoPoints = []
                       }
                     "rule_base")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 208 20 208 22
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 208 20 208 22
                       , srcInfoPoints = []
                       }
                     "fn")
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 3 212 80
                   , srcInfoPoints = []
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 3 209 35
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 209 3 209 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 209 19 209 20
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 5 209 17
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 5 209 17
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 5 209 14
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 209 5 209 14
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 209 5 209 14
                                       , srcInfoPoints = []
                                       }
                                     "isLocalId")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 15 209 17
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 209 15 209 17
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 209 15 209 17
                                       , srcInfoPoints = []
                                       }
                                     "fn"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 21 209 35
                          , srcInfoPoints = []
                          }
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 21 209 32
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 21 209 32
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 209 21 209 32
                                   , srcInfoPoints = []
                                   }
                                 "idCoreRules")))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 33 209 35
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 209 33 209 35
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 209 33 209 35
                                   , srcInfoPoints = []
                                   }
                                 "fn"))))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 210 3 212 80
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 210 3 210 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 210 19 210 20
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 210 5 210 14
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 210 5 210 14
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 210 5 210 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 210 5 210 14
                                    , srcInfoPoints = []
                                    }
                                  "otherwise")))
                     ]
                     (InfixApp
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 210 21 212 80
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 210 21 212 27
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 210 21 212 24
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 210 21 211 48
                                   , srcInfoPoints = []
                                   }
                                 (Con
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 210 21 210 25
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 210 21 210 25
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 210 21 210 25
                                            , srcInfoPoints = []
                                            }
                                          "WARN")))
                                 (Tuple
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 210 25 211 48
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 210 25 210 26
                                          , SrcSpan "tests/examples/RealGHC.lhs" 210 74 210 75
                                          , SrcSpan "tests/examples/RealGHC.lhs" 211 47 211 48
                                          ]
                                      }
                                    Boxed
                                    [ InfixApp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 210 27 210 74
                                          , srcInfoPoints = []
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 210 27 210 46
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 210 27 210 30
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 210 27 210 30
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            210
                                                            27
                                                            210
                                                            30
                                                      , srcInfoPoints = []
                                                      }
                                                    "not")))
                                           (Paren
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 210 31 210 46
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/RealGHC.lhs" 210 31 210 32
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 210 45 210 46
                                                    ]
                                                }
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 210 32 210 45
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            210
                                                            32
                                                            210
                                                            42
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               210
                                                               32
                                                               210
                                                               42
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  210
                                                                  32
                                                                  210
                                                                  42
                                                            , srcInfoPoints = []
                                                            }
                                                          "isPrimOpId")))
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            210
                                                            43
                                                            210
                                                            45
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               210
                                                               43
                                                               210
                                                               45
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  210
                                                                  43
                                                                  210
                                                                  45
                                                            , srcInfoPoints = []
                                                            }
                                                          "fn"))))))
                                        (QVarOp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 210 47 210 49
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 210 47 210 49
                                                , srcInfoPoints = []
                                                }
                                              (Symbol
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 210 47 210 49
                                                   , srcInfoPoints = []
                                                   }
                                                 "&&")))
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 210 50 210 74
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 210 50 210 57
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 210 50 210 57
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            210
                                                            50
                                                            210
                                                            57
                                                      , srcInfoPoints = []
                                                      }
                                                    "notNull")))
                                           (Paren
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 210 58 210 74
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/RealGHC.lhs" 210 58 210 59
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 210 73 210 74
                                                    ]
                                                }
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 210 59 210 73
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            210
                                                            59
                                                            210
                                                            70
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               210
                                                               59
                                                               210
                                                               70
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  210
                                                                  59
                                                                  210
                                                                  70
                                                            , srcInfoPoints = []
                                                            }
                                                          "idCoreRules")))
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            210
                                                            71
                                                            210
                                                            73
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               210
                                                               71
                                                               210
                                                               73
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  210
                                                                  71
                                                                  210
                                                                  73
                                                            , srcInfoPoints = []
                                                            }
                                                          "fn"))))))
                                    , InfixApp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 211 15 211 46
                                          , srcInfoPoints = []
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 211 15 211 21
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 211 15 211 18
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 211 15 211 18
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            211
                                                            15
                                                            211
                                                            18
                                                      , srcInfoPoints = []
                                                      }
                                                    "ppr")))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 211 19 211 21
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 211 19 211 21
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            211
                                                            19
                                                            211
                                                            21
                                                      , srcInfoPoints = []
                                                      }
                                                    "fn"))))
                                        (QVarOp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 211 22 211 25
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 211 22 211 25
                                                , srcInfoPoints = []
                                                }
                                              (Symbol
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 211 22 211 25
                                                   , srcInfoPoints = []
                                                   }
                                                 "<+>")))
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 211 26 211 46
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 211 26 211 29
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 211 26 211 29
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            211
                                                            26
                                                            211
                                                            29
                                                      , srcInfoPoints = []
                                                      }
                                                    "ppr")))
                                           (Paren
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 211 30 211 46
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/RealGHC.lhs" 211 30 211 31
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 211 45 211 46
                                                    ]
                                                }
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 211 31 211 45
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            211
                                                            31
                                                            211
                                                            42
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               211
                                                               31
                                                               211
                                                               42
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  211
                                                                  31
                                                                  211
                                                                  42
                                                            , srcInfoPoints = []
                                                            }
                                                          "idCoreRules")))
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            211
                                                            43
                                                            211
                                                            45
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               211
                                                               43
                                                               211
                                                               45
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  211
                                                                  43
                                                                  211
                                                                  45
                                                            , srcInfoPoints = []
                                                            }
                                                          "fn"))))))
                                    ]))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 212 13 212 24
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 212 13 212 24
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 212 13 212 24
                                         , srcInfoPoints = []
                                         }
                                       "idCoreRules"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 212 25 212 27
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 212 25 212 27
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 212 25 212 27
                                      , srcInfoPoints = []
                                      }
                                    "fn"))))
                        (QVarOp
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 212 28 212 30
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 212 28 212 30
                                , srcInfoPoints = []
                                }
                              (Symbol
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 212 28 212 30
                                   , srcInfoPoints = []
                                   }
                                 "++")))
                        (Paren
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 212 31 212 80
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 212 31 212 32
                                 , SrcSpan "tests/examples/RealGHC.lhs" 212 79 212 80
                                 ]
                             }
                           (InfixApp
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 212 32 212 79
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 212 32 212 67
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 212 32 212 55
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 212 32 212 45
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 212 32 212 45
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 212 32 212 45
                                               , srcInfoPoints = []
                                               }
                                             "lookupNameEnv")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 212 46 212 55
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 212 46 212 55
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 212 46 212 55
                                               , srcInfoPoints = []
                                               }
                                             "rule_base"))))
                                 (Paren
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 212 56 212 67
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 212 56 212 57
                                          , SrcSpan "tests/examples/RealGHC.lhs" 212 66 212 67
                                          ]
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 212 57 212 66
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 212 57 212 63
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 212 57 212 63
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 212 57 212 63
                                                  , srcInfoPoints = []
                                                  }
                                                "idName")))
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 212 64 212 66
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 212 64 212 66
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 212 64 212 66
                                                  , srcInfoPoints = []
                                                  }
                                                "fn"))))))
                              (QVarOp
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 212 68 212 76
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 212 68 212 69
                                       , SrcSpan "tests/examples/RealGHC.lhs" 212 69 212 75
                                       , SrcSpan "tests/examples/RealGHC.lhs" 212 75 212 76
                                       ]
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 212 68 212 76
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 212 68 212 69
                                          , SrcSpan "tests/examples/RealGHC.lhs" 212 69 212 75
                                          , SrcSpan "tests/examples/RealGHC.lhs" 212 75 212 76
                                          ]
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 212 69 212 75
                                         , srcInfoPoints = []
                                         }
                                       "orElse")))
                              (List
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 212 77 212 79
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 212 77 212 78
                                       , SrcSpan "tests/examples/RealGHC.lhs" 212 78 212 79
                                       ]
                                   }
                                 []))))
                 ])
              Nothing
          ]
      , TypeDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 1 225 35
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 225 1 225 5
                , SrcSpan "tests/examples/RealGHC.lhs" 225 15 225 16
                ]
            }
          (DHead
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 6 225 14
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 6 225 14
                  , srcInfoPoints = []
                  }
                "RuleBase"))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 17 225 35
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 17 225 24
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 17 225 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 17 225 24
                        , srcInfoPoints = []
                        }
                      "NameEnv")))
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 25 225 35
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 225 25 225 26
                      , SrcSpan "tests/examples/RealGHC.lhs" 225 34 225 35
                      ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 26 225 34
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 26 225 34
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 225 26 225 34
                           , srcInfoPoints = []
                           }
                         "CoreRule")))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 229 1 229 29
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 229 1 229 14
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 229 1 229 14
                  , srcInfoPoints = []
                  }
                "emptyRuleBase"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 229 15 229 29
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 229 15 229 16 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 229 17 229 29
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 229 17 229 29
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 229 17 229 29
                        , srcInfoPoints = []
                        }
                      "emptyNameEnv"))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 1 231 37
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 231 12 231 14 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 1 231 11
                , srcInfoPoints = []
                }
              "mkRuleBase"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 15 231 37
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 231 26 231 28 ]
               }
             (TyList
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 15 231 25
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 231 15 231 16
                      , SrcSpan "tests/examples/RealGHC.lhs" 231 24 231 25
                      ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 16 231 24
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 16 231 24
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 16 231 24
                           , srcInfoPoints = []
                           }
                         "CoreRule"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 29 231 37
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 29 231 37
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 231 29 231 37
                        , srcInfoPoints = []
                        }
                      "RuleBase"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 1 232 58
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 1 232 58
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 1 232 11
                   , srcInfoPoints = []
                   }
                 "mkRuleBase")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 12 232 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 12 232 17
                       , srcInfoPoints = []
                       }
                     "rules")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 18 232 58
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 232 18 232 19 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 20 232 58
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 20 232 52
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 20 232 38
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 20 232 38
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 20 232 38
                                  , srcInfoPoints = []
                                  }
                                "extendRuleBaseList")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 39 232 52
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 39 232 52
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 39 232 52
                                  , srcInfoPoints = []
                                  }
                                "emptyRuleBase"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 53 232 58
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 53 232 58
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 232 53 232 58
                               , srcInfoPoints = []
                               }
                             "rules")))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 1 234 57
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 234 20 234 22 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 1 234 19
                , srcInfoPoints = []
                }
              "extendRuleBaseList"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 23 234 57
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 234 32 234 34 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 23 234 31
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 23 234 31
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 23 234 31
                        , srcInfoPoints = []
                        }
                      "RuleBase")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 35 234 57
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 234 46 234 48 ]
                  }
                (TyList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 35 234 45
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 234 35 234 36
                         , SrcSpan "tests/examples/RealGHC.lhs" 234 44 234 45
                         ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 36 234 44
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 36 234 44
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 36 234 44
                              , srcInfoPoints = []
                              }
                            "CoreRule"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 49 234 57
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 49 234 57
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 234 49 234 57
                           , srcInfoPoints = []
                           }
                         "RuleBase")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 235 1 236 44
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 235 1 236 44
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 235 1 235 19
                   , srcInfoPoints = []
                   }
                 "extendRuleBaseList")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 235 20 235 29
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 235 20 235 29
                       , srcInfoPoints = []
                       }
                     "rule_base")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 235 30 235 38
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 235 30 235 38
                       , srcInfoPoints = []
                       }
                     "new_guys")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 3 236 44
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 236 3 236 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 5 236 44
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 5 236 35
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 5 236 25
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 5 236 10
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 5 236 10
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 236 5 236 10
                                     , srcInfoPoints = []
                                     }
                                   "foldl")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 11 236 25
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 11 236 25
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 236 11 236 25
                                     , srcInfoPoints = []
                                     }
                                   "extendRuleBase"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 26 236 35
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 26 236 35
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 26 236 35
                                  , srcInfoPoints = []
                                  }
                                "rule_base"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 36 236 44
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 36 236 44
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 236 36 236 44
                               , srcInfoPoints = []
                               }
                             "new_guys")))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 1 238 50
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 238 15 238 17 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 1 238 14
                , srcInfoPoints = []
                }
              "unionRuleBase"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 18 238 50
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 238 27 238 29 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 18 238 26
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 18 238 26
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 18 238 26
                        , srcInfoPoints = []
                        }
                      "RuleBase")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 30 238 50
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 238 39 238 41 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 30 238 38
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 30 238 38
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 30 238 38
                           , srcInfoPoints = []
                           }
                         "RuleBase")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 42 238 50
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 42 238 50
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 238 42 238 50
                           , srcInfoPoints = []
                           }
                         "RuleBase")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 1 239 51
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 1 239 51
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 1 239 14
                   , srcInfoPoints = []
                   }
                 "unionRuleBase")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 15 239 18
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 15 239 18
                       , srcInfoPoints = []
                       }
                     "rb1")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 19 239 22
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 19 239 22
                       , srcInfoPoints = []
                       }
                     "rb2")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 23 239 51
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 239 23 239 24 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 25 239 51
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 25 239 47
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 25 239 43
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 25 239 38
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 25 239 38
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 239 25 239 38
                                     , srcInfoPoints = []
                                     }
                                   "plusNameEnv_C")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 39 239 43
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RealGHC.lhs" 239 39 239 40
                                   , SrcSpan "tests/examples/RealGHC.lhs" 239 40 239 42
                                   , SrcSpan "tests/examples/RealGHC.lhs" 239 42 239 43
                                   ]
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 39 239 43
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 239 39 239 40
                                      , SrcSpan "tests/examples/RealGHC.lhs" 239 40 239 42
                                      , SrcSpan "tests/examples/RealGHC.lhs" 239 42 239 43
                                      ]
                                  }
                                (Symbol
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 239 40 239 42
                                     , srcInfoPoints = []
                                     }
                                   "++"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 44 239 47
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 44 239 47
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 44 239 47
                                  , srcInfoPoints = []
                                  }
                                "rb1"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 48 239 51
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 48 239 51
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 239 48 239 51
                               , srcInfoPoints = []
                               }
                             "rb2")))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 1 241 51
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 241 16 241 18 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 1 241 15
                , srcInfoPoints = []
                }
              "extendRuleBase"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 19 241 51
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 241 28 241 30 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 19 241 27
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 19 241 27
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 19 241 27
                        , srcInfoPoints = []
                        }
                      "RuleBase")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 31 241 51
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 241 40 241 42 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 31 241 39
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 31 241 39
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 31 241 39
                           , srcInfoPoints = []
                           }
                         "CoreRule")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 43 241 51
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 43 241 51
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 241 43 241 51
                           , srcInfoPoints = []
                           }
                         "RuleBase")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 242 1 243 69
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 242 1 243 69
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 242 1 242 15
                   , srcInfoPoints = []
                   }
                 "extendRuleBase")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 242 16 242 25
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 242 16 242 25
                       , srcInfoPoints = []
                       }
                     "rule_base")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 242 26 242 30
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 242 26 242 30
                       , srcInfoPoints = []
                       }
                     "rule")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 3 243 69
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 243 3 243 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 69
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 64
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 46
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 36
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 26
                                  , srcInfoPoints = []
                                  }
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 22
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 22
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 243 5 243 22
                                           , srcInfoPoints = []
                                           }
                                         "extendNameEnv_Acc")))
                                (Con
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 243 23 243 26
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 243 23 243 24
                                         , SrcSpan "tests/examples/RealGHC.lhs" 243 24 243 25
                                         , SrcSpan "tests/examples/RealGHC.lhs" 243 25 243 26
                                         ]
                                     }
                                   (Special
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 243 23 243 26
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RealGHC.lhs" 243 23 243 24
                                            , SrcSpan "tests/examples/RealGHC.lhs" 243 24 243 25
                                            , SrcSpan "tests/examples/RealGHC.lhs" 243 25 243 26
                                            ]
                                        }
                                      (Cons
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 243 24 243 25
                                           , srcInfoPoints = []
                                           }))))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 27 243 36
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 243 27 243 36
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 243 27 243 36
                                        , srcInfoPoints = []
                                        }
                                      "singleton"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 37 243 46
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 37 243 46
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 243 37 243 46
                                     , srcInfoPoints = []
                                     }
                                   "rule_base"))))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 47 243 64
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 243 47 243 48
                                , SrcSpan "tests/examples/RealGHC.lhs" 243 63 243 64
                                ]
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 48 243 63
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 48 243 58
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 243 48 243 58
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 243 48 243 58
                                        , srcInfoPoints = []
                                        }
                                      "ruleIdName")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 59 243 63
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 243 59 243 63
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 243 59 243 63
                                        , srcInfoPoints = []
                                        }
                                      "rule"))))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 65 243 69
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 65 243 69
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 243 65 243 69
                               , srcInfoPoints = []
                               }
                             "rule")))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 1 245 32
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 245 13 245 15 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 1 245 12
                , srcInfoPoints = []
                }
              "pprRuleBase"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 16 245 32
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 245 25 245 27 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 16 245 24
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 16 245 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 16 245 24
                        , srcInfoPoints = []
                        }
                      "RuleBase")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 28 245 32
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 28 245 32
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 245 28 245 32
                        , srcInfoPoints = []
                        }
                      "SDoc"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 1 247 41
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 1 247 41
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 1 246 12
                   , srcInfoPoints = []
                   }
                 "pprRuleBase")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 13 246 18
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 13 246 18
                       , srcInfoPoints = []
                       }
                     "rules")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 19 247 41
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 246 19 246 20 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 21 247 41
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 21 246 25
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 21 246 25
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 21 246 25
                               , srcInfoPoints = []
                               }
                             "vcat")))
                    (ListComp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 26 247 41
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 246 26 246 27
                             , SrcSpan "tests/examples/RealGHC.lhs" 247 14 247 15
                             , SrcSpan "tests/examples/RealGHC.lhs" 247 40 247 41
                             ]
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 28 246 64
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 28 246 36
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 28 246 36
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 246 28 246 36
                                     , srcInfoPoints = []
                                     }
                                   "pprRules")))
                          (Paren
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 37 246 64
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RealGHC.lhs" 246 37 246 38
                                   , SrcSpan "tests/examples/RealGHC.lhs" 246 63 246 64
                                   ]
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 246 38 246 63
                                  , srcInfoPoints = []
                                  }
                                (App
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 246 38 246 60
                                     , srcInfoPoints = []
                                     }
                                   (Var
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 246 38 246 47
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 246 38 246 47
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 246 38 246 47
                                              , srcInfoPoints = []
                                              }
                                            "tidyRules")))
                                   (Var
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 246 48 246 60
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 246 48 246 60
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 246 48 246 60
                                              , srcInfoPoints = []
                                              }
                                            "emptyTidyEnv"))))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 246 61 246 63
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 246 61 246 63
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 246 61 246 63
                                           , srcInfoPoints = []
                                           }
                                         "rs"))))))
                       [ QualStmt
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 247 16 247 39
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 247 19 247 21 ]
                             }
                           (Generator
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 247 16 247 39
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 247 19 247 21 ]
                                }
                              (PVar
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 247 16 247 18
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 247 16 247 18
                                      , srcInfoPoints = []
                                      }
                                    "rs"))
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 247 22 247 39
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 247 22 247 33
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 247 22 247 33
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 247 22 247 33
                                            , srcInfoPoints = []
                                            }
                                          "nameEnvElts")))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 247 34 247 39
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 247 34 247 39
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 247 34 247 39
                                            , srcInfoPoints = []
                                            }
                                          "rules")))))
                       ])))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 1 280 52
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 278 12 278 14 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 1 278 11
                , srcInfoPoints = []
                }
              "lookupRule"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 15 280 52
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 278 36 278 38 ]
               }
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 15 278 35
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 278 15 278 16
                      , SrcSpan "tests/examples/RealGHC.lhs" 278 34 278 35
                      ]
                  }
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 16 278 34
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 278 27 278 29 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 16 278 26
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 16 278 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 16 278 26
                              , srcInfoPoints = []
                              }
                            "Activation")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 30 278 34
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 30 278 34
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 30 278 34
                              , srcInfoPoints = []
                              }
                            "Bool")))))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 39 280 52
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 279 9 279 11 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 39 278 49
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 39 278 49
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 278 39 278 49
                           , srcInfoPoints = []
                           }
                         "InScopeSet")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 12 280 52
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 279 15 279 17 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 12 279 14
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 12 279 14
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 12 279 14
                              , srcInfoPoints = []
                              }
                            "Id")))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 18 280 52
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 280 9 280 11 ]
                        }
                      (TyList
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 18 279 28
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 279 18 279 19
                               , SrcSpan "tests/examples/RealGHC.lhs" 279 27 279 28
                               ]
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 19 279 27
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 279 19 279 27
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 279 19 279 27
                                    , srcInfoPoints = []
                                    }
                                  "CoreExpr"))))
                      (TyFun
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 280 12 280 52
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 280 23 280 25 ]
                           }
                         (TyList
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 280 12 280 22
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/RealGHC.lhs" 280 12 280 13
                                  , SrcSpan "tests/examples/RealGHC.lhs" 280 21 280 22
                                  ]
                              }
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 280 13 280 21
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 280 13 280 21
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 280 13 280 21
                                       , srcInfoPoints = []
                                       }
                                     "CoreRule"))))
                         (TyApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 280 26 280 52
                              , srcInfoPoints = []
                              }
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 280 26 280 31
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 280 26 280 31
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 280 26 280 31
                                       , srcInfoPoints = []
                                       }
                                     "Maybe")))
                            (TyTuple
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 280 32 280 52
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 280 32 280 33
                                     , SrcSpan "tests/examples/RealGHC.lhs" 280 41 280 42
                                     , SrcSpan "tests/examples/RealGHC.lhs" 280 51 280 52
                                     ]
                                 }
                               Boxed
                               [ TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 280 33 280 41
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 280 33 280 41
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 280 33 280 41
                                           , srcInfoPoints = []
                                           }
                                         "CoreRule"))
                               , TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 280 43 280 51
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 280 43 280 51
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 280 43 280 51
                                           , srcInfoPoints = []
                                           }
                                         "CoreExpr"))
                               ])))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 1 298 36
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 289 3 289 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 1 298 36
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 289 3 289 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 1 284 11
                   , srcInfoPoints = []
                   }
                 "lookupRule")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 12 284 21
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 12 284 21
                       , srcInfoPoints = []
                       }
                     "is_active")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 22 284 30
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 22 284 30
                       , srcInfoPoints = []
                       }
                     "in_scope")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 31 284 33
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 31 284 33
                       , srcInfoPoints = []
                       }
                     "fn")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 34 284 38
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 34 284 38
                       , srcInfoPoints = []
                       }
                     "args")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 39 284 44
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 284 39 284 44
                       , srcInfoPoints = []
                       }
                     "rules")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 285 3 288 45
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 285 3 285 4 ]
                   }
                 (Case
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 5 288 45
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 286 5 286 9
                          , SrcSpan "tests/examples/RealGHC.lhs" 286 22 286 24
                          , SrcSpan "tests/examples/RealGHC.lhs" 287 5 287 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 288 5 288 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 289 3 289 0
                          ]
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 10 286 21
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 10 286 15
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 10 286 12
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 10 286 12
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 286 10 286 12
                                     , srcInfoPoints = []
                                     }
                                   "go")))
                          (List
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 13 286 15
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RealGHC.lhs" 286 13 286 14
                                   , SrcSpan "tests/examples/RealGHC.lhs" 286 14 286 15
                                   ]
                               }
                             []))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 16 286 21
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 16 286 21
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 286 16 286 21
                                  , srcInfoPoints = []
                                  }
                                "rules"))))
                    [ Alt
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 287 5 287 22
                          , srcInfoPoints = []
                          }
                        (PList
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 287 5 287 7
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 287 5 287 6
                                 , SrcSpan "tests/examples/RealGHC.lhs" 287 6 287 7
                                 ]
                             }
                           [])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 287 12 287 22
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 287 12 287 14 ]
                             }
                           (Con
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 287 15 287 22
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 287 15 287 22
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 287 15 287 22
                                      , srcInfoPoints = []
                                      }
                                    "Nothing"))))
                        Nothing
                    , Alt
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 5 288 45
                          , srcInfoPoints = []
                          }
                        (PParen
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 5 288 11
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 288 5 288 6
                                 , SrcSpan "tests/examples/RealGHC.lhs" 288 10 288 11
                                 ]
                             }
                           (PInfixApp
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 6 288 10
                                , srcInfoPoints = []
                                }
                              (PVar
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 6 288 7
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 288 6 288 7
                                      , srcInfoPoints = []
                                      }
                                    "m"))
                              (Special
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 7 288 8
                                   , srcInfoPoints = []
                                   }
                                 (Cons
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 288 7 288 8
                                      , srcInfoPoints = []
                                      }))
                              (PVar
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 8 288 10
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 288 8 288 10
                                      , srcInfoPoints = []
                                      }
                                    "ms"))))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 12 288 45
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 288 12 288 14 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 288 15 288 45
                                , srcInfoPoints = []
                                }
                              (Con
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 288 15 288 19
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 288 15 288 19
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 288 15 288 19
                                         , srcInfoPoints = []
                                         }
                                       "Just")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 288 20 288 45
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 288 20 288 21
                                       , SrcSpan "tests/examples/RealGHC.lhs" 288 44 288 45
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 288 21 288 44
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 288 21 288 41
                                         , srcInfoPoints = []
                                         }
                                       (App
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 288 21 288 39
                                            , srcInfoPoints = []
                                            }
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 288 21 288 29
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 288 21 288 29
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           288
                                                           21
                                                           288
                                                           29
                                                     , srcInfoPoints = []
                                                     }
                                                   "findBest")))
                                          (Tuple
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 288 30 288 39
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 288 30 288 31
                                                   , SrcSpan
                                                       "tests/examples/RealGHC.lhs" 288 33 288 34
                                                   , SrcSpan
                                                       "tests/examples/RealGHC.lhs" 288 38 288 39
                                                   ]
                                               }
                                             Boxed
                                             [ Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 288 31 288 33
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            288
                                                            31
                                                            288
                                                            33
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               288
                                                               31
                                                               288
                                                               33
                                                         , srcInfoPoints = []
                                                         }
                                                       "fn"))
                                             , Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 288 34 288 38
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            288
                                                            34
                                                            288
                                                            38
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               288
                                                               34
                                                               288
                                                               38
                                                         , srcInfoPoints = []
                                                         }
                                                       "args"))
                                             ]))
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 288 40 288 41
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 288 40 288 41
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 288 40 288 41
                                                  , srcInfoPoints = []
                                                  }
                                                "m"))))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 288 42 288 44
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 288 42 288 44
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 288 42 288 44
                                               , srcInfoPoints = []
                                               }
                                             "ms")))))))
                        Nothing
                    ]))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 290 5 298 36
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 290 5 290 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 292 5 292 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 293 5 293 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 294 5 294 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 300 1 300 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 290 5 290 39
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 290 5 290 15
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 290 5 290 15
                                , srcInfoPoints = []
                                }
                              "rough_args"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 290 16 290 39
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 290 16 290 17 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 290 18 290 39
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 290 18 290 34
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 290 18 290 21
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 290 18 290 21
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 290 18 290 21
                                            , srcInfoPoints = []
                                            }
                                          "map")))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 290 22 290 34
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 290 22 290 34
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 290 22 290 34
                                            , srcInfoPoints = []
                                            }
                                          "roughTopName"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 290 35 290 39
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 290 35 290 39
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 290 35 290 39
                                         , srcInfoPoints = []
                                         }
                                       "args")))))
                        Nothing
                    , TypeSig
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 292 5 292 71
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 292 8 292 10 ]
                          }
                        [ Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 292 5 292 7
                              , srcInfoPoints = []
                              }
                            "go"
                        ]
                        (TyFun
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 292 11 292 71
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 292 33 292 35 ]
                             }
                           (TyList
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 292 11 292 32
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 292 11 292 12
                                    , SrcSpan "tests/examples/RealGHC.lhs" 292 31 292 32
                                    ]
                                }
                              (TyTuple
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 292 12 292 31
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 292 12 292 13
                                       , SrcSpan "tests/examples/RealGHC.lhs" 292 21 292 22
                                       , SrcSpan "tests/examples/RealGHC.lhs" 292 30 292 31
                                       ]
                                   }
                                 Boxed
                                 [ TyCon
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 292 13 292 21
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 292 13 292 21
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 292 13 292 21
                                             , srcInfoPoints = []
                                             }
                                           "CoreRule"))
                                 , TyCon
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 292 22 292 30
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 292 22 292 30
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 292 22 292 30
                                             , srcInfoPoints = []
                                             }
                                           "CoreExpr"))
                                 ]))
                           (TyFun
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 292 36 292 71
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 292 47 292 49 ]
                                }
                              (TyList
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 292 36 292 46
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 292 36 292 37
                                       , SrcSpan "tests/examples/RealGHC.lhs" 292 45 292 46
                                       ]
                                   }
                                 (TyCon
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 292 37 292 45
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 292 37 292 45
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 292 37 292 45
                                            , srcInfoPoints = []
                                            }
                                          "CoreRule"))))
                              (TyList
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 292 50 292 71
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 292 50 292 51
                                       , SrcSpan "tests/examples/RealGHC.lhs" 292 70 292 71
                                       ]
                                   }
                                 (TyTuple
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 292 51 292 70
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 292 51 292 52
                                          , SrcSpan "tests/examples/RealGHC.lhs" 292 60 292 61
                                          , SrcSpan "tests/examples/RealGHC.lhs" 292 69 292 70
                                          ]
                                      }
                                    Boxed
                                    [ TyCon
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 292 52 292 60
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 292 52 292 60
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 292 52 292 60
                                                , srcInfoPoints = []
                                                }
                                              "CoreRule"))
                                    , TyCon
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 292 61 292 69
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 292 61 292 69
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 292 61 292 69
                                                , srcInfoPoints = []
                                                }
                                              "CoreExpr"))
                                    ]))))
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 293 5 298 36
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 293 5 293 28
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 293 5 293 7
                                 , srcInfoPoints = []
                                 }
                               "go")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 293 8 293 10
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 293 8 293 10
                                     , srcInfoPoints = []
                                     }
                                   "ms")
                            , PList
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 293 11 293 13
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 293 11 293 12
                                      , SrcSpan "tests/examples/RealGHC.lhs" 293 12 293 13
                                      ]
                                  }
                                []
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 293 24 293 28
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 293 24 293 25 ]
                                 }
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 293 26 293 28
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 293 26 293 28
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 293 26 293 28
                                          , srcInfoPoints = []
                                          }
                                        "ms"))))
                            Nothing
                        , Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 294 5 298 36
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 294 5 294 7
                                 , srcInfoPoints = []
                                 }
                               "go")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 294 8 294 10
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 294 8 294 10
                                     , srcInfoPoints = []
                                     }
                                   "ms")
                            , PParen
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 294 11 294 17
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 294 11 294 12
                                      , SrcSpan "tests/examples/RealGHC.lhs" 294 16 294 17
                                      ]
                                  }
                                (PInfixApp
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 294 12 294 16
                                     , srcInfoPoints = []
                                     }
                                   (PVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 294 12 294 13
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 294 12 294 13
                                           , srcInfoPoints = []
                                           }
                                         "r"))
                                   (Special
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 294 13 294 14
                                        , srcInfoPoints = []
                                        }
                                      (Cons
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 294 13 294 14
                                           , srcInfoPoints = []
                                           }))
                                   (PVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 294 14 294 16
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 294 14 294 16
                                           , srcInfoPoints = []
                                           }
                                         "rs")))
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 294 18 298 36
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 294 18 294 19 ]
                                 }
                               (Case
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 294 20 298 36
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 294 20 294 24
                                        , SrcSpan "tests/examples/RealGHC.lhs" 294 74 294 76
                                        , SrcSpan "tests/examples/RealGHC.lhs" 295 13 295 13
                                        , SrcSpan "tests/examples/RealGHC.lhs" 296 13 296 13
                                        , SrcSpan "tests/examples/RealGHC.lhs" 300 1 300 0
                                        ]
                                    }
                                  (Paren
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 294 25 294 73
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/RealGHC.lhs" 294 25 294 26
                                           , SrcSpan "tests/examples/RealGHC.lhs" 294 72 294 73
                                           ]
                                       }
                                     (App
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 294 26 294 72
                                          , srcInfoPoints = []
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 294 26 294 70
                                             , srcInfoPoints = []
                                             }
                                           (App
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 294 26 294 59
                                                , srcInfoPoints = []
                                                }
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 294 26 294 54
                                                   , srcInfoPoints = []
                                                   }
                                                 (App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            294
                                                            26
                                                            294
                                                            45
                                                      , srcInfoPoints = []
                                                      }
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               294
                                                               26
                                                               294
                                                               35
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  294
                                                                  26
                                                                  294
                                                                  35
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     294
                                                                     26
                                                                     294
                                                                     35
                                                               , srcInfoPoints = []
                                                               }
                                                             "matchRule")))
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               294
                                                               36
                                                               294
                                                               45
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  294
                                                                  36
                                                                  294
                                                                  45
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     294
                                                                     36
                                                                     294
                                                                     45
                                                               , srcInfoPoints = []
                                                               }
                                                             "is_active"))))
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            294
                                                            46
                                                            294
                                                            54
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               294
                                                               46
                                                               294
                                                               54
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  294
                                                                  46
                                                                  294
                                                                  54
                                                            , srcInfoPoints = []
                                                            }
                                                          "in_scope"))))
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 294 55 294 59
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            294
                                                            55
                                                            294
                                                            59
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               294
                                                               55
                                                               294
                                                               59
                                                         , srcInfoPoints = []
                                                         }
                                                       "args"))))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 294 60 294 70
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 294 60 294 70
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            294
                                                            60
                                                            294
                                                            70
                                                      , srcInfoPoints = []
                                                      }
                                                    "rough_args"))))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 294 71 294 72
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 294 71 294 72
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 294 71 294 72
                                                   , srcInfoPoints = []
                                                   }
                                                 "r")))))
                                  [ Alt
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 295 13 295 40
                                        , srcInfoPoints = []
                                        }
                                      (PApp
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 295 13 295 19
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 295 13 295 17
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 295 13 295 17
                                                 , srcInfoPoints = []
                                                 }
                                               "Just"))
                                         [ PVar
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 295 18 295 19
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 295 18 295 19
                                                  , srcInfoPoints = []
                                                  }
                                                "e")
                                         ])
                                      (UnGuardedRhs
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 295 21 295 40
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 295 21 295 23
                                               ]
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 295 24 295 40
                                              , srcInfoPoints = []
                                              }
                                            (App
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 295 24 295 37
                                                 , srcInfoPoints = []
                                                 }
                                               (Var
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 295 24 295 26
                                                    , srcInfoPoints = []
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             295
                                                             24
                                                             295
                                                             26
                                                       , srcInfoPoints = []
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                295
                                                                24
                                                                295
                                                                26
                                                          , srcInfoPoints = []
                                                          }
                                                        "go")))
                                               (Paren
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 295 27 295 37
                                                    , srcInfoPoints =
                                                        [ SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            295
                                                            27
                                                            295
                                                            28
                                                        , SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            295
                                                            36
                                                            295
                                                            37
                                                        ]
                                                    }
                                                  (InfixApp
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             295
                                                             28
                                                             295
                                                             36
                                                       , srcInfoPoints = []
                                                       }
                                                     (Tuple
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                295
                                                                28
                                                                295
                                                                33
                                                          , srcInfoPoints =
                                                              [ SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  295
                                                                  28
                                                                  295
                                                                  29
                                                              , SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  295
                                                                  30
                                                                  295
                                                                  31
                                                              , SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  295
                                                                  32
                                                                  295
                                                                  33
                                                              ]
                                                          }
                                                        Boxed
                                                        [ Var
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    295
                                                                    29
                                                                    295
                                                                    30
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       295
                                                                       29
                                                                       295
                                                                       30
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          295
                                                                          29
                                                                          295
                                                                          30
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "r"))
                                                        , Var
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    295
                                                                    31
                                                                    295
                                                                    32
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       295
                                                                       31
                                                                       295
                                                                       32
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          295
                                                                          31
                                                                          295
                                                                          32
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "e"))
                                                        ])
                                                     (QConOp
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                295
                                                                33
                                                                295
                                                                34
                                                          , srcInfoPoints = []
                                                          }
                                                        (Special
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   295
                                                                   33
                                                                   295
                                                                   34
                                                             , srcInfoPoints = []
                                                             }
                                                           (Cons
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      295
                                                                      33
                                                                      295
                                                                      34
                                                                , srcInfoPoints = []
                                                                })))
                                                     (Var
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                295
                                                                34
                                                                295
                                                                36
                                                          , srcInfoPoints = []
                                                          }
                                                        (UnQual
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   295
                                                                   34
                                                                   295
                                                                   36
                                                             , srcInfoPoints = []
                                                             }
                                                           (Ident
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      295
                                                                      34
                                                                      295
                                                                      36
                                                                , srcInfoPoints = []
                                                                }
                                                              "ms"))))))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 295 38 295 40
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 295 38 295 40
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             295
                                                             38
                                                             295
                                                             40
                                                       , srcInfoPoints = []
                                                       }
                                                     "rs")))))
                                      Nothing
                                  , Alt
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 296 13 298 36
                                        , srcInfoPoints = []
                                        }
                                      (PApp
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 296 13 296 20
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 296 13 296 20
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 296 13 296 20
                                                 , srcInfoPoints = []
                                                 }
                                               "Nothing"))
                                         [])
                                      (UnGuardedRhs
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 296 21 298 36
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 296 21 296 23
                                               ]
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 298 20 298 36
                                              , srcInfoPoints = []
                                              }
                                            (App
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 298 20 298 25
                                                 , srcInfoPoints = []
                                                 }
                                               (Var
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 298 20 298 22
                                                    , srcInfoPoints = []
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             298
                                                             20
                                                             298
                                                             22
                                                       , srcInfoPoints = []
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                298
                                                                20
                                                                298
                                                                22
                                                          , srcInfoPoints = []
                                                          }
                                                        "go")))
                                               (Var
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 298 23 298 25
                                                    , srcInfoPoints = []
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             298
                                                             23
                                                             298
                                                             25
                                                       , srcInfoPoints = []
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                298
                                                                23
                                                                298
                                                                25
                                                          , srcInfoPoints = []
                                                          }
                                                        "ms"))))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 298 34 298 36
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 298 34 298 36
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             298
                                                             34
                                                             298
                                                             36
                                                       , srcInfoPoints = []
                                                       }
                                                     "rs")))))
                                      Nothing
                                  ]))
                            Nothing
                        ]
                    ]))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 1 301 76
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 300 10 300 12 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 1 300 9
                , srcInfoPoints = []
                }
              "findBest"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 13 301 76
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 301 6 301 8 ]
               }
             (TyTuple
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 13 300 29
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 300 13 300 14
                      , SrcSpan "tests/examples/RealGHC.lhs" 300 16 300 17
                      , SrcSpan "tests/examples/RealGHC.lhs" 300 28 300 29
                      ]
                  }
                Boxed
                [ TyCon
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 14 300 16
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 14 300 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 14 300 16
                            , srcInfoPoints = []
                            }
                          "Id"))
                , TyList
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 18 300 28
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 300 18 300 19
                          , SrcSpan "tests/examples/RealGHC.lhs" 300 27 300 28
                          ]
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 19 300 27
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 19 300 27
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 300 19 300 27
                               , srcInfoPoints = []
                               }
                             "CoreExpr")))
                ])
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 9 301 76
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 301 29 301 31 ]
                  }
                (TyTuple
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 9 301 28
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 301 9 301 10
                         , SrcSpan "tests/examples/RealGHC.lhs" 301 18 301 19
                         , SrcSpan "tests/examples/RealGHC.lhs" 301 27 301 28
                         ]
                     }
                   Boxed
                   [ TyCon
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 10 301 18
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 10 301 18
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 10 301 18
                               , srcInfoPoints = []
                               }
                             "CoreRule"))
                   , TyCon
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 19 301 27
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 19 301 27
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 19 301 27
                               , srcInfoPoints = []
                               }
                             "CoreExpr"))
                   ])
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 32 301 76
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 301 54 301 56 ]
                     }
                   (TyList
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 32 301 53
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 301 32 301 33
                            , SrcSpan "tests/examples/RealGHC.lhs" 301 52 301 53
                            ]
                        }
                      (TyTuple
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 33 301 52
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 301 33 301 34
                               , SrcSpan "tests/examples/RealGHC.lhs" 301 42 301 43
                               , SrcSpan "tests/examples/RealGHC.lhs" 301 51 301 52
                               ]
                           }
                         Boxed
                         [ TyCon
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 34 301 42
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 34 301 42
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 301 34 301 42
                                     , srcInfoPoints = []
                                     }
                                   "CoreRule"))
                         , TyCon
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 43 301 51
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 43 301 51
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 301 43 301 51
                                     , srcInfoPoints = []
                                     }
                                   "CoreExpr"))
                         ]))
                   (TyTuple
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 57 301 76
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 301 57 301 58
                            , SrcSpan "tests/examples/RealGHC.lhs" 301 66 301 67
                            , SrcSpan "tests/examples/RealGHC.lhs" 301 75 301 76
                            ]
                        }
                      Boxed
                      [ TyCon
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 58 301 66
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 58 301 66
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 58 301 66
                                  , srcInfoPoints = []
                                  }
                                "CoreRule"))
                      , TyCon
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 67 301 75
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 67 301 75
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 301 67 301 75
                                  , srcInfoPoints = []
                                  }
                                "CoreExpr"))
                      ]))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 1 322 23
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 1 306 45
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 1 306 9
                   , srcInfoPoints = []
                   }
                 "findBest")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 10 306 16
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 10 306 16
                       , srcInfoPoints = []
                       }
                     "target")
              , PTuple
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 17 306 27
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 306 17 306 18
                        , SrcSpan "tests/examples/RealGHC.lhs" 306 22 306 23
                        , SrcSpan "tests/examples/RealGHC.lhs" 306 26 306 27
                        ]
                    }
                  Boxed
                  [ PVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 18 306 22
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 18 306 22
                           , srcInfoPoints = []
                           }
                         "rule")
                  , PVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 23 306 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 23 306 26
                           , srcInfoPoints = []
                           }
                         "ans")
                  ]
              , PList
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 30 306 32
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 306 30 306 31
                        , SrcSpan "tests/examples/RealGHC.lhs" 306 31 306 32
                        ]
                    }
                  []
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 33 306 45
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 306 33 306 34 ]
                   }
                 (Tuple
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 35 306 45
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 306 35 306 36
                          , SrcSpan "tests/examples/RealGHC.lhs" 306 40 306 41
                          , SrcSpan "tests/examples/RealGHC.lhs" 306 44 306 45
                          ]
                      }
                    Boxed
                    [ Var
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 36 306 40
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 36 306 40
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 36 306 40
                                , srcInfoPoints = []
                                }
                              "rule"))
                    , Var
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 41 306 44
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 41 306 44
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 306 41 306 44
                                , srcInfoPoints = []
                                }
                              "ans"))
                    ]))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 1 322 23
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 321 3 321 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 1 307 9
                   , srcInfoPoints = []
                   }
                 "findBest")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 10 307 16
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 10 307 16
                       , srcInfoPoints = []
                       }
                     "target")
              , PTuple
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 17 307 29
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 307 17 307 18
                        , SrcSpan "tests/examples/RealGHC.lhs" 307 23 307 24
                        , SrcSpan "tests/examples/RealGHC.lhs" 307 28 307 29
                        ]
                    }
                  Boxed
                  [ PVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 18 307 23
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 18 307 23
                           , srcInfoPoints = []
                           }
                         "rule1")
                  , PVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 24 307 28
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 24 307 28
                           , srcInfoPoints = []
                           }
                         "ans1")
                  ]
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 30 307 48
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 307 30 307 31
                        , SrcSpan "tests/examples/RealGHC.lhs" 307 47 307 48
                        ]
                    }
                  (PInfixApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 31 307 47
                       , srcInfoPoints = []
                       }
                     (PTuple
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 31 307 43
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 307 31 307 32
                              , SrcSpan "tests/examples/RealGHC.lhs" 307 37 307 38
                              , SrcSpan "tests/examples/RealGHC.lhs" 307 42 307 43
                              ]
                          }
                        Boxed
                        [ PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 32 307 37
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 32 307 37
                                 , srcInfoPoints = []
                                 }
                               "rule2")
                        , PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 38 307 42
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 38 307 42
                                 , srcInfoPoints = []
                                 }
                               "ans2")
                        ])
                     (Special
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 43 307 44
                          , srcInfoPoints = []
                          }
                        (Cons
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 43 307 44
                             , srcInfoPoints = []
                             }))
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 44 307 47
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 307 44 307 47
                             , srcInfoPoints = []
                             }
                           "prs")))
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 3 320 49
                   , srcInfoPoints = []
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 3 308 68
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 308 3 308 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 308 34 308 35
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 5 308 33
                           , srcInfoPoints = []
                           }
                         (InfixApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 5 308 33
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 5 308 10
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 308 5 308 10
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 308 5 308 10
                                       , srcInfoPoints = []
                                       }
                                     "rule1")))
                            (QVarOp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 11 308 27
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 308 11 308 12
                                     , SrcSpan "tests/examples/RealGHC.lhs" 308 12 308 26
                                     , SrcSpan "tests/examples/RealGHC.lhs" 308 26 308 27
                                     ]
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 308 11 308 27
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 308 11 308 12
                                        , SrcSpan "tests/examples/RealGHC.lhs" 308 12 308 26
                                        , SrcSpan "tests/examples/RealGHC.lhs" 308 26 308 27
                                        ]
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 308 12 308 26
                                       , srcInfoPoints = []
                                       }
                                     "isMoreSpecific")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 28 308 33
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 308 28 308 33
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 308 28 308 33
                                       , srcInfoPoints = []
                                       }
                                     "rule2"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 36 308 68
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 36 308 64
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 36 308 51
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 308 36 308 44
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 308 36 308 44
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 308 36 308 44
                                         , srcInfoPoints = []
                                         }
                                       "findBest")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 308 45 308 51
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 308 45 308 51
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 308 45 308 51
                                         , srcInfoPoints = []
                                         }
                                       "target"))))
                           (Tuple
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 52 308 64
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 308 52 308 53
                                    , SrcSpan "tests/examples/RealGHC.lhs" 308 58 308 59
                                    , SrcSpan "tests/examples/RealGHC.lhs" 308 63 308 64
                                    ]
                                }
                              Boxed
                              [ Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 308 53 308 58
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 308 53 308 58
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 308 53 308 58
                                          , srcInfoPoints = []
                                          }
                                        "rule1"))
                              , Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 308 59 308 63
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 308 59 308 63
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 308 59 308 63
                                          , srcInfoPoints = []
                                          }
                                        "ans1"))
                              ]))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 65 308 68
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 308 65 308 68
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 308 65 308 68
                                   , srcInfoPoints = []
                                   }
                                 "prs"))))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 3 309 68
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 309 3 309 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 309 34 309 35
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 5 309 33
                           , srcInfoPoints = []
                           }
                         (InfixApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 5 309 33
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 5 309 10
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 309 5 309 10
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 309 5 309 10
                                       , srcInfoPoints = []
                                       }
                                     "rule2")))
                            (QVarOp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 11 309 27
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 309 11 309 12
                                     , SrcSpan "tests/examples/RealGHC.lhs" 309 12 309 26
                                     , SrcSpan "tests/examples/RealGHC.lhs" 309 26 309 27
                                     ]
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 309 11 309 27
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 309 11 309 12
                                        , SrcSpan "tests/examples/RealGHC.lhs" 309 12 309 26
                                        , SrcSpan "tests/examples/RealGHC.lhs" 309 26 309 27
                                        ]
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 309 12 309 26
                                       , srcInfoPoints = []
                                       }
                                     "isMoreSpecific")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 28 309 33
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 309 28 309 33
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 309 28 309 33
                                       , srcInfoPoints = []
                                       }
                                     "rule1"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 36 309 68
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 36 309 64
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 36 309 51
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 309 36 309 44
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 309 36 309 44
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 309 36 309 44
                                         , srcInfoPoints = []
                                         }
                                       "findBest")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 309 45 309 51
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 309 45 309 51
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 309 45 309 51
                                         , srcInfoPoints = []
                                         }
                                       "target"))))
                           (Tuple
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 52 309 64
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 309 52 309 53
                                    , SrcSpan "tests/examples/RealGHC.lhs" 309 58 309 59
                                    , SrcSpan "tests/examples/RealGHC.lhs" 309 63 309 64
                                    ]
                                }
                              Boxed
                              [ Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 309 53 309 58
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 309 53 309 58
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 309 53 309 58
                                          , srcInfoPoints = []
                                          }
                                        "rule2"))
                              , Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 309 59 309 63
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 309 59 309 63
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 309 59 309 63
                                          , srcInfoPoints = []
                                          }
                                        "ans2"))
                              ]))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 65 309 68
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 309 65 309 68
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 309 65 309 68
                                   , srcInfoPoints = []
                                   }
                                 "prs"))))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 310 3 319 57
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 310 3 310 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 310 15 310 16
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 310 5 310 14
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 310 5 310 14
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 310 5 310 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 310 5 310 14
                                    , srcInfoPoints = []
                                    }
                                  "debugIsOn")))
                     ]
                     (Let
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 310 17 319 57
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 310 17 310 20
                              , SrcSpan "tests/examples/RealGHC.lhs" 313 17 313 19
                              ]
                          }
                        (BDecls
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 310 21 312 83
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 310 21 310 21
                                 , SrcSpan "tests/examples/RealGHC.lhs" 313 17 313 0
                                 ]
                             }
                           [ FunBind
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 310 21 312 83
                                 , srcInfoPoints = []
                                 }
                               [ Match
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 310 21 312 83
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 310 21 310 28
                                        , srcInfoPoints = []
                                        }
                                      "pp_rule")
                                   [ PVar
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 310 29 310 33
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 310 29 310 33
                                            , srcInfoPoints = []
                                            }
                                          "rule")
                                   ]
                                   (GuardedRhss
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 311 25 312 83
                                        , srcInfoPoints = []
                                        }
                                      [ GuardedRhs
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 311 25 311 56
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 311 25 311 26
                                                , SrcSpan "tests/examples/RealGHC.lhs" 311 46 311 47
                                                ]
                                            }
                                          [ Qualifier
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 311 27 311 45
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 311 27 311 45
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            311
                                                            27
                                                            311
                                                            45
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               311
                                                               27
                                                               311
                                                               45
                                                         , srcInfoPoints = []
                                                         }
                                                       "opt_PprStyle_Debug")))
                                          ]
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 311 48 311 56
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 311 48 311 51
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           311
                                                           48
                                                           311
                                                           51
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              311
                                                              48
                                                              311
                                                              51
                                                        , srcInfoPoints = []
                                                        }
                                                      "ppr")))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 311 52 311 56
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           311
                                                           52
                                                           311
                                                           56
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              311
                                                              52
                                                              311
                                                              56
                                                        , srcInfoPoints = []
                                                        }
                                                      "rule"))))
                                      , GuardedRhs
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 312 25 312 83
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 312 25 312 26
                                                , SrcSpan "tests/examples/RealGHC.lhs" 312 46 312 47
                                                ]
                                            }
                                          [ Qualifier
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 312 27 312 36
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 312 27 312 36
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            312
                                                            27
                                                            312
                                                            36
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               312
                                                               27
                                                               312
                                                               36
                                                         , srcInfoPoints = []
                                                         }
                                                       "otherwise")))
                                          ]
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 312 48 312 83
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 312 48 312 60
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           312
                                                           48
                                                           312
                                                           60
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              312
                                                              48
                                                              312
                                                              60
                                                        , srcInfoPoints = []
                                                        }
                                                      "doubleQuotes")))
                                             (Paren
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 312 61 312 83
                                                  , srcInfoPoints =
                                                      [ SrcSpan
                                                          "tests/examples/RealGHC.lhs" 312 61 312 62
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 312 82 312 83
                                                      ]
                                                  }
                                                (App
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           312
                                                           62
                                                           312
                                                           82
                                                     , srcInfoPoints = []
                                                     }
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              312
                                                              62
                                                              312
                                                              67
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 312
                                                                 62
                                                                 312
                                                                 67
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    312
                                                                    62
                                                                    312
                                                                    67
                                                              , srcInfoPoints = []
                                                              }
                                                            "ftext")))
                                                   (Paren
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              312
                                                              68
                                                              312
                                                              82
                                                        , srcInfoPoints =
                                                            [ SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                312
                                                                68
                                                                312
                                                                69
                                                            , SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                312
                                                                81
                                                                312
                                                                82
                                                            ]
                                                        }
                                                      (App
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 312
                                                                 69
                                                                 312
                                                                 81
                                                           , srcInfoPoints = []
                                                           }
                                                         (Var
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    312
                                                                    69
                                                                    312
                                                                    76
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       312
                                                                       69
                                                                       312
                                                                       76
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          312
                                                                          69
                                                                          312
                                                                          76
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "ru_name")))
                                                         (Var
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    312
                                                                    77
                                                                    312
                                                                    81
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       312
                                                                       77
                                                                       312
                                                                       81
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          312
                                                                          77
                                                                          312
                                                                          81
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "rule"))))))))
                                      ])
                                   Nothing
                               ]
                           ])
                        (InfixApp
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 313 20 319 57
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 313 20 318 71
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 313 20 313 73
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 313 20 313 28
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 313 20 313 28
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 313 20 313 28
                                            , srcInfoPoints = []
                                            }
                                          "pprTrace")))
                                 (Lit
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 313 29 313 73
                                      , srcInfoPoints = []
                                      }
                                    (String
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 313 29 313 73
                                         , srcInfoPoints = []
                                         }
                                       "Rules.findBest: rule overlap (Rule 1 wins)"
                                       "Rules.findBest: rule overlap (Rule 1 wins)")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 314 22 318 71
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 314 22 314 23
                                       , SrcSpan "tests/examples/RealGHC.lhs" 318 70 318 71
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 314 23 318 70
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 314 23 314 27
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 314 23 314 27
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 314 23 314 27
                                               , srcInfoPoints = []
                                               }
                                             "vcat")))
                                    (List
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 314 28 318 70
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 314 28 314 29
                                             , SrcSpan "tests/examples/RealGHC.lhs" 316 43 316 44
                                             , SrcSpan "tests/examples/RealGHC.lhs" 317 69 317 70
                                             , SrcSpan "tests/examples/RealGHC.lhs" 318 69 318 70
                                             ]
                                         }
                                       [ If
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 314 29 316 43
                                             , srcInfoPoints =
                                                 [ SrcSpan
                                                     "tests/examples/RealGHC.lhs" 314 29 314 31
                                                 , SrcSpan
                                                     "tests/examples/RealGHC.lhs" 314 51 314 55
                                                 , SrcSpan
                                                     "tests/examples/RealGHC.lhs" 316 33 316 37
                                                 ]
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 314 32 314 50
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 314 32 314 50
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            314
                                                            32
                                                            314
                                                            50
                                                      , srcInfoPoints = []
                                                      }
                                                    "opt_PprStyle_Debug")))
                                           (InfixApp
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 315 32 315 101
                                                , srcInfoPoints = []
                                                }
                                              (InfixApp
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 315 32 315 78
                                                   , srcInfoPoints = []
                                                   }
                                                 (App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            315
                                                            32
                                                            315
                                                            67
                                                      , srcInfoPoints = []
                                                      }
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               32
                                                               315
                                                               37
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  32
                                                                  315
                                                                  37
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     32
                                                                     315
                                                                     37
                                                               , srcInfoPoints = []
                                                               }
                                                             "ptext")))
                                                    (Paren
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               38
                                                               315
                                                               67
                                                         , srcInfoPoints =
                                                             [ SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 315
                                                                 38
                                                                 315
                                                                 39
                                                             , SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 315
                                                                 66
                                                                 315
                                                                 67
                                                             ]
                                                         }
                                                       (App
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  39
                                                                  315
                                                                  66
                                                            , srcInfoPoints = []
                                                            }
                                                          (Var
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     39
                                                                     315
                                                                     43
                                                               , srcInfoPoints = []
                                                               }
                                                             (UnQual
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        315
                                                                        39
                                                                        315
                                                                        43
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (Ident
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           315
                                                                           39
                                                                           315
                                                                           43
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   "sLit")))
                                                          (Lit
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     44
                                                                     315
                                                                     66
                                                               , srcInfoPoints = []
                                                               }
                                                             (String
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        315
                                                                        44
                                                                        315
                                                                        66
                                                                  , srcInfoPoints = []
                                                                  }
                                                                "Expression to match:"
                                                                "Expression to match:")))))
                                                 (QVarOp
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            315
                                                            68
                                                            315
                                                            71
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               68
                                                               315
                                                               71
                                                         , srcInfoPoints = []
                                                         }
                                                       (Symbol
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  68
                                                                  315
                                                                  71
                                                            , srcInfoPoints = []
                                                            }
                                                          "<+>")))
                                                 (App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            315
                                                            72
                                                            315
                                                            78
                                                      , srcInfoPoints = []
                                                      }
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               72
                                                               315
                                                               75
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  72
                                                                  315
                                                                  75
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     72
                                                                     315
                                                                     75
                                                               , srcInfoPoints = []
                                                               }
                                                             "ppr")))
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               76
                                                               315
                                                               78
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  76
                                                                  315
                                                                  78
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     76
                                                                     315
                                                                     78
                                                               , srcInfoPoints = []
                                                               }
                                                             "fn")))))
                                              (QVarOp
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 315 79 315 82
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            315
                                                            79
                                                            315
                                                            82
                                                      , srcInfoPoints = []
                                                      }
                                                    (Symbol
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               79
                                                               315
                                                               82
                                                         , srcInfoPoints = []
                                                         }
                                                       "<+>")))
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 315 83 315 101
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            315
                                                            83
                                                            315
                                                            86
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               83
                                                               315
                                                               86
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  83
                                                                  315
                                                                  86
                                                            , srcInfoPoints = []
                                                            }
                                                          "sep")))
                                                 (Paren
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            315
                                                            87
                                                            315
                                                            101
                                                      , srcInfoPoints =
                                                          [ SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              315
                                                              87
                                                              315
                                                              88
                                                          , SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              315
                                                              100
                                                              315
                                                              101
                                                          ]
                                                      }
                                                    (App
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               315
                                                               88
                                                               315
                                                               100
                                                         , srcInfoPoints = []
                                                         }
                                                       (App
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  88
                                                                  315
                                                                  95
                                                            , srcInfoPoints = []
                                                            }
                                                          (Var
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     88
                                                                     315
                                                                     91
                                                               , srcInfoPoints = []
                                                               }
                                                             (UnQual
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        315
                                                                        88
                                                                        315
                                                                        91
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (Ident
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           315
                                                                           88
                                                                           315
                                                                           91
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   "map")))
                                                          (Var
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     92
                                                                     315
                                                                     95
                                                               , srcInfoPoints = []
                                                               }
                                                             (UnQual
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        315
                                                                        92
                                                                        315
                                                                        95
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (Ident
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           315
                                                                           92
                                                                           315
                                                                           95
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   "ppr"))))
                                                       (Var
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  315
                                                                  96
                                                                  315
                                                                  100
                                                            , srcInfoPoints = []
                                                            }
                                                          (UnQual
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     315
                                                                     96
                                                                     315
                                                                     100
                                                               , srcInfoPoints = []
                                                               }
                                                             (Ident
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        315
                                                                        96
                                                                        315
                                                                        100
                                                                  , srcInfoPoints = []
                                                                  }
                                                                "args")))))))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 316 38 316 43
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 316 38 316 43
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            316
                                                            38
                                                            316
                                                            43
                                                      , srcInfoPoints = []
                                                      }
                                                    "empty")))
                                       , InfixApp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 317 29 317 69
                                             , srcInfoPoints = []
                                             }
                                           (App
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 317 29 317 51
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 317 29 317 34
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            317
                                                            29
                                                            317
                                                            34
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               317
                                                               29
                                                               317
                                                               34
                                                         , srcInfoPoints = []
                                                         }
                                                       "ptext")))
                                              (Paren
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 317 35 317 51
                                                   , srcInfoPoints =
                                                       [ SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           317
                                                           35
                                                           317
                                                           36
                                                       , SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           317
                                                           50
                                                           317
                                                           51
                                                       ]
                                                   }
                                                 (App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            317
                                                            36
                                                            317
                                                            50
                                                      , srcInfoPoints = []
                                                      }
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               317
                                                               36
                                                               317
                                                               40
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  317
                                                                  36
                                                                  317
                                                                  40
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     317
                                                                     36
                                                                     317
                                                                     40
                                                               , srcInfoPoints = []
                                                               }
                                                             "sLit")))
                                                    (Lit
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               317
                                                               41
                                                               317
                                                               50
                                                         , srcInfoPoints = []
                                                         }
                                                       (String
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  317
                                                                  41
                                                                  317
                                                                  50
                                                            , srcInfoPoints = []
                                                            }
                                                          "Rule 1:"
                                                          "Rule 1:")))))
                                           (QVarOp
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 317 52 317 55
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 317 52 317 55
                                                   , srcInfoPoints = []
                                                   }
                                                 (Symbol
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            317
                                                            52
                                                            317
                                                            55
                                                      , srcInfoPoints = []
                                                      }
                                                    "<+>")))
                                           (App
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 317 56 317 69
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 317 56 317 63
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            317
                                                            56
                                                            317
                                                            63
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               317
                                                               56
                                                               317
                                                               63
                                                         , srcInfoPoints = []
                                                         }
                                                       "pp_rule")))
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 317 64 317 69
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            317
                                                            64
                                                            317
                                                            69
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               317
                                                               64
                                                               317
                                                               69
                                                         , srcInfoPoints = []
                                                         }
                                                       "rule1"))))
                                       , InfixApp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 318 29 318 69
                                             , srcInfoPoints = []
                                             }
                                           (App
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 318 29 318 51
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 318 29 318 34
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            318
                                                            29
                                                            318
                                                            34
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               318
                                                               29
                                                               318
                                                               34
                                                         , srcInfoPoints = []
                                                         }
                                                       "ptext")))
                                              (Paren
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 318 35 318 51
                                                   , srcInfoPoints =
                                                       [ SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           318
                                                           35
                                                           318
                                                           36
                                                       , SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           318
                                                           50
                                                           318
                                                           51
                                                       ]
                                                   }
                                                 (App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            318
                                                            36
                                                            318
                                                            50
                                                      , srcInfoPoints = []
                                                      }
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               318
                                                               36
                                                               318
                                                               40
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  318
                                                                  36
                                                                  318
                                                                  40
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     318
                                                                     36
                                                                     318
                                                                     40
                                                               , srcInfoPoints = []
                                                               }
                                                             "sLit")))
                                                    (Lit
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               318
                                                               41
                                                               318
                                                               50
                                                         , srcInfoPoints = []
                                                         }
                                                       (String
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  318
                                                                  41
                                                                  318
                                                                  50
                                                            , srcInfoPoints = []
                                                            }
                                                          "Rule 2:"
                                                          "Rule 2:")))))
                                           (QVarOp
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 318 52 318 55
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 318 52 318 55
                                                   , srcInfoPoints = []
                                                   }
                                                 (Symbol
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            318
                                                            52
                                                            318
                                                            55
                                                      , srcInfoPoints = []
                                                      }
                                                    "<+>")))
                                           (App
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 318 56 318 69
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 318 56 318 63
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            318
                                                            56
                                                            318
                                                            63
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               318
                                                               56
                                                               318
                                                               63
                                                         , srcInfoPoints = []
                                                         }
                                                       "pp_rule")))
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 318 64 318 69
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            318
                                                            64
                                                            318
                                                            69
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               318
                                                               64
                                                               318
                                                               69
                                                         , srcInfoPoints = []
                                                         }
                                                       "rule2"))))
                                       ]))))
                           (QVarOp
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 318 72 318 73
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 318 72 318 73
                                   , srcInfoPoints = []
                                   }
                                 (Symbol
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 318 72 318 73
                                      , srcInfoPoints = []
                                      }
                                    "$")))
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 319 25 319 57
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 319 25 319 53
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 319 25 319 40
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 319 25 319 33
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 319 25 319 33
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 319 25 319 33
                                               , srcInfoPoints = []
                                               }
                                             "findBest")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 319 34 319 40
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 319 34 319 40
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 319 34 319 40
                                               , srcInfoPoints = []
                                               }
                                             "target"))))
                                 (Tuple
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 319 41 319 53
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 319 41 319 42
                                          , SrcSpan "tests/examples/RealGHC.lhs" 319 47 319 48
                                          , SrcSpan "tests/examples/RealGHC.lhs" 319 52 319 53
                                          ]
                                      }
                                    Boxed
                                    [ Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 319 42 319 47
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 319 42 319 47
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 319 42 319 47
                                                , srcInfoPoints = []
                                                }
                                              "rule1"))
                                    , Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 319 48 319 52
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 319 48 319 52
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 319 48 319 52
                                                , srcInfoPoints = []
                                                }
                                              "ans1"))
                                    ]))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 319 54 319 57
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 319 54 319 57
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 319 54 319 57
                                         , srcInfoPoints = []
                                         }
                                       "prs"))))))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 3 320 49
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 320 3 320 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 320 15 320 16
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 5 320 14
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 5 320 14
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 5 320 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 320 5 320 14
                                    , srcInfoPoints = []
                                    }
                                  "otherwise")))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 17 320 49
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 17 320 45
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 17 320 32
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 320 17 320 25
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 320 17 320 25
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 320 17 320 25
                                         , srcInfoPoints = []
                                         }
                                       "findBest")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 320 26 320 32
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 320 26 320 32
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 320 26 320 32
                                         , srcInfoPoints = []
                                         }
                                       "target"))))
                           (Tuple
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 33 320 45
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 320 33 320 34
                                    , SrcSpan "tests/examples/RealGHC.lhs" 320 39 320 40
                                    , SrcSpan "tests/examples/RealGHC.lhs" 320 44 320 45
                                    ]
                                }
                              Boxed
                              [ Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 320 34 320 39
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 320 34 320 39
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 320 34 320 39
                                          , srcInfoPoints = []
                                          }
                                        "rule1"))
                              , Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 320 40 320 44
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 320 40 320 44
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 320 40 320 44
                                          , srcInfoPoints = []
                                          }
                                        "ans1"))
                              ]))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 46 320 49
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 320 46 320 49
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 320 46 320 49
                                   , srcInfoPoints = []
                                   }
                                 "prs"))))
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 5 322 23
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 322 5 322 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 324 1 324 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 5 322 23
                          , srcInfoPoints = []
                          }
                        (PTuple
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 5 322 14
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 322 5 322 6
                                 , SrcSpan "tests/examples/RealGHC.lhs" 322 8 322 9
                                 , SrcSpan "tests/examples/RealGHC.lhs" 322 13 322 14
                                 ]
                             }
                           Boxed
                           [ PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 6 322 8
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 6 322 8
                                    , srcInfoPoints = []
                                    }
                                  "fn")
                           , PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 9 322 13
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 322 9 322 13
                                    , srcInfoPoints = []
                                    }
                                  "args")
                           ])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 15 322 23
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 322 15 322 16 ]
                             }
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 322 17 322 23
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 322 17 322 23
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 322 17 322 23
                                      , srcInfoPoints = []
                                      }
                                    "target"))))
                        Nothing
                    ]))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 1 324 47
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 324 16 324 18 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 1 324 15
                , srcInfoPoints = []
                }
              "isMoreSpecific"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 19 324 47
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 324 28 324 30 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 19 324 27
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 19 324 27
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 19 324 27
                        , srcInfoPoints = []
                        }
                      "CoreRule")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 31 324 47
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 324 40 324 42 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 31 324 39
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 31 324 39
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 31 324 39
                           , srcInfoPoints = []
                           }
                         "CoreRule")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 43 324 47
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 43 324 47
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 324 43 324 47
                           , srcInfoPoints = []
                           }
                         "Bool")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 1 331 45
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 1 325 42
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 1 325 15
                   , srcInfoPoints = []
                   }
                 "isMoreSpecific")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 16 325 32
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 325 16 325 17
                        , SrcSpan "tests/examples/RealGHC.lhs" 325 31 325 32
                        ]
                    }
                  (PRec
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 17 325 31
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 325 29 325 30
                           , SrcSpan "tests/examples/RealGHC.lhs" 325 30 325 31
                           ]
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 17 325 28
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 17 325 28
                             , srcInfoPoints = []
                             }
                           "BuiltinRule"))
                     [])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 33 325 35
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 33 325 35
                       , srcInfoPoints = []
                       }
                     "r2")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 36 325 42
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 325 36 325 37 ]
                   }
                 (Con
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 38 325 42
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 38 325 42
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 325 38 325 42
                            , srcInfoPoints = []
                            }
                          "True"))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 1 326 43
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 1 326 15
                   , srcInfoPoints = []
                   }
                 "isMoreSpecific")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 16 326 18
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 16 326 18
                       , srcInfoPoints = []
                       }
                     "r1")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 19 326 35
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 326 19 326 20
                        , SrcSpan "tests/examples/RealGHC.lhs" 326 34 326 35
                        ]
                    }
                  (PRec
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 20 326 34
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 326 32 326 33
                           , SrcSpan "tests/examples/RealGHC.lhs" 326 33 326 34
                           ]
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 20 326 31
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 20 326 31
                             , srcInfoPoints = []
                             }
                           "BuiltinRule"))
                     [])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 36 326 43
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 326 36 326 37 ]
                   }
                 (Con
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 38 326 43
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 38 326 43
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 326 38 326 43
                            , srcInfoPoints = []
                            }
                          "False"))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 1 331 45
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 330 3 330 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 1 327 15
                   , srcInfoPoints = []
                   }
                 "isMoreSpecific")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 16 327 61
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 327 16 327 17
                        , SrcSpan "tests/examples/RealGHC.lhs" 327 60 327 61
                        ]
                    }
                  (PRec
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 17 327 60
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 327 22 327 23
                           , SrcSpan "tests/examples/RealGHC.lhs" 327 41 327 42
                           , SrcSpan "tests/examples/RealGHC.lhs" 327 59 327 60
                           ]
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 17 327 21
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 17 327 21
                             , srcInfoPoints = []
                             }
                           "Rule"))
                     [ PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 24 327 41
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 327 33 327 34 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 24 327 32
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 24 327 32
                                 , srcInfoPoints = []
                                 }
                               "ru_bndrs"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 35 327 41
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 35 327 41
                                 , srcInfoPoints = []
                                 }
                               "bndrs1"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 43 327 58
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 327 51 327 52 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 43 327 50
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 43 327 50
                                 , srcInfoPoints = []
                                 }
                               "ru_args"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 53 327 58
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 327 53 327 58
                                 , srcInfoPoints = []
                                 }
                               "args1"))
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 12 328 57
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 328 12 328 13
                        , SrcSpan "tests/examples/RealGHC.lhs" 328 56 328 57
                        ]
                    }
                  (PRec
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 13 328 56
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 328 18 328 19
                           , SrcSpan "tests/examples/RealGHC.lhs" 328 37 328 38
                           , SrcSpan "tests/examples/RealGHC.lhs" 328 55 328 56
                           ]
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 13 328 17
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 13 328 17
                             , srcInfoPoints = []
                             }
                           "Rule"))
                     [ PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 20 328 37
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 328 29 328 30 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 20 328 28
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 20 328 28
                                 , srcInfoPoints = []
                                 }
                               "ru_bndrs"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 31 328 37
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 31 328 37
                                 , srcInfoPoints = []
                                 }
                               "bndrs2"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 39 328 54
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 328 47 328 48 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 39 328 46
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 39 328 46
                                 , srcInfoPoints = []
                                 }
                               "ru_args"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 49 328 54
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 328 49 328 54
                                 , srcInfoPoints = []
                                 }
                               "args2"))
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 3 329 48
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 329 3 329 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 5 329 48
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 5 329 11
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 5 329 11
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 5 329 11
                               , srcInfoPoints = []
                               }
                             "isJust")))
                    (Paren
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 12 329 48
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 329 12 329 13
                             , SrcSpan "tests/examples/RealGHC.lhs" 329 47 329 48
                             ]
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 13 329 47
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 13 329 41
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 13 329 35
                                  , srcInfoPoints = []
                                  }
                                (App
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 329 13 329 28
                                     , srcInfoPoints = []
                                     }
                                   (Var
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 329 13 329 19
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 329 13 329 19
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 329 13 329 19
                                              , srcInfoPoints = []
                                              }
                                            "matchN")))
                                   (Var
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 329 20 329 28
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 329 20 329 28
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 329 20 329 28
                                              , srcInfoPoints = []
                                              }
                                            "in_scope"))))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 329 29 329 35
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 329 29 329 35
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 329 29 329 35
                                           , srcInfoPoints = []
                                           }
                                         "bndrs2"))))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 36 329 41
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 329 36 329 41
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 329 36 329 41
                                        , srcInfoPoints = []
                                        }
                                      "args2"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 42 329 47
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 329 42 329 47
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 329 42 329 47
                                     , srcInfoPoints = []
                                     }
                                   "args1")))))))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 331 4 331 45
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 331 4 331 4
                          , SrcSpan "tests/examples/RealGHC.lhs" 335 1 335 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 331 4 331 45
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 331 4 331 12
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 331 4 331 12
                                , srcInfoPoints = []
                                }
                              "in_scope"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 331 13 331 45
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 331 13 331 14 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 331 15 331 45
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 331 15 331 27
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 331 15 331 27
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 331 15 331 27
                                         , srcInfoPoints = []
                                         }
                                       "mkInScopeSet")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 331 28 331 45
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 331 28 331 29
                                       , SrcSpan "tests/examples/RealGHC.lhs" 331 44 331 45
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 331 29 331 44
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 331 29 331 37
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 331 29 331 37
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 331 29 331 37
                                               , srcInfoPoints = []
                                               }
                                             "mkVarSet")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 331 38 331 44
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 331 38 331 44
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 331 38 331 44
                                               , srcInfoPoints = []
                                               }
                                             "bndrs1")))))))
                        Nothing
                    ]))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 1 335 34
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 335 13 335 15 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 1 335 12
                , srcInfoPoints = []
                }
              "noBlackList"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 16 335 34
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 335 27 335 29 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 16 335 26
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 16 335 26
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 16 335 26
                        , srcInfoPoints = []
                        }
                      "Activation")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 30 335 34
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 30 335 34
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 335 30 335 34
                        , srcInfoPoints = []
                        }
                      "Bool"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 1 336 24
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 1 336 24
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 1 336 12
                   , srcInfoPoints = []
                   }
                 "noBlackList")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 13 336 16
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 13 336 16
                       , srcInfoPoints = []
                       }
                     "act")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 17 336 24
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 336 17 336 18 ]
                   }
                 (Con
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 19 336 24
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 19 336 24
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 336 19 336 24
                            , srcInfoPoints = []
                            }
                          "False"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 1 340 36
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 338 11 338 13 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 1 338 10
                , srcInfoPoints = []
                }
              "matchRule"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 14 340 36
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 338 35 338 37 ]
               }
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 14 338 34
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 338 14 338 15
                      , SrcSpan "tests/examples/RealGHC.lhs" 338 33 338 34
                      ]
                  }
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 15 338 33
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 338 26 338 28 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 15 338 25
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 15 338 25
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 15 338 25
                              , srcInfoPoints = []
                              }
                            "Activation")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 29 338 33
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 29 338 33
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 29 338 33
                              , srcInfoPoints = []
                              }
                            "Bool")))))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 38 340 36
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 339 7 339 9 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 38 338 48
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 38 338 48
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 338 38 338 48
                           , srcInfoPoints = []
                           }
                         "InScopeSet")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 10 340 36
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 339 21 339 23 ]
                     }
                   (TyList
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 10 339 20
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 339 10 339 11
                            , SrcSpan "tests/examples/RealGHC.lhs" 339 19 339 20
                            ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 11 339 19
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 11 339 19
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 11 339 19
                                 , srcInfoPoints = []
                                 }
                               "CoreExpr"))))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 24 340 36
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 340 7 340 9 ]
                        }
                      (TyList
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 24 339 36
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 339 24 339 25
                               , SrcSpan "tests/examples/RealGHC.lhs" 339 35 339 36
                               ]
                           }
                         (TyApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 25 339 35
                              , srcInfoPoints = []
                              }
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 25 339 30
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 339 25 339 30
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 339 25 339 30
                                       , srcInfoPoints = []
                                       }
                                     "Maybe")))
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 339 31 339 35
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 339 31 339 35
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 339 31 339 35
                                       , srcInfoPoints = []
                                       }
                                     "Name")))))
                      (TyFun
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 340 10 340 36
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 340 19 340 21 ]
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 340 10 340 18
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 340 10 340 18
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 340 10 340 18
                                    , srcInfoPoints = []
                                    }
                                  "CoreRule")))
                         (TyApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 340 22 340 36
                              , srcInfoPoints = []
                              }
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 340 22 340 27
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 340 22 340 27
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 340 22 340 27
                                       , srcInfoPoints = []
                                       }
                                     "Maybe")))
                            (TyCon
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 340 28 340 36
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 340 28 340 36
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 340 28 340 36
                                       , srcInfoPoints = []
                                       }
                                     "CoreExpr")))))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 1 382 53
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 1 368 25
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 1 364 10
                   , srcInfoPoints = []
                   }
                 "matchRule")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 11 364 20
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 11 364 20
                       , srcInfoPoints = []
                       }
                     "is_active")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 21 364 29
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 21 364 29
                       , srcInfoPoints = []
                       }
                     "in_scope")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 30 364 34
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 30 364 34
                       , srcInfoPoints = []
                       }
                     "args")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 35 364 45
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 364 35 364 45
                       , srcInfoPoints = []
                       }
                     "rough_args")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 7 365 58
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 365 7 365 8
                        , SrcSpan "tests/examples/RealGHC.lhs" 365 57 365 58
                        ]
                    }
                  (PRec
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 8 365 57
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 365 20 365 21
                           , SrcSpan "tests/examples/RealGHC.lhs" 365 36 365 37
                           , SrcSpan "tests/examples/RealGHC.lhs" 365 56 365 57
                           ]
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 8 365 19
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 8 365 19
                             , srcInfoPoints = []
                             }
                           "BuiltinRule"))
                     [ PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 22 365 36
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 365 30 365 31 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 22 365 29
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 22 365 29
                                 , srcInfoPoints = []
                                 }
                               "ru_name"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 32 365 36
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 32 365 36
                                 , srcInfoPoints = []
                                 }
                               "name"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 38 365 55
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 365 45 365 46 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 38 365 44
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 38 365 44
                                 , srcInfoPoints = []
                                 }
                               "ru_try"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 47 365 55
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 365 47 365 55
                                 , srcInfoPoints = []
                                 }
                               "match_fn"))
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 3 368 25
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 366 3 366 4 ]
                   }
                 (Case
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 5 368 25
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 366 5 366 9
                          , SrcSpan "tests/examples/RealGHC.lhs" 366 24 366 26
                          , SrcSpan "tests/examples/RealGHC.lhs" 367 5 367 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 368 5 368 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 370 1 370 0
                          ]
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 10 366 23
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 10 366 18
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 10 366 18
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 10 366 18
                                  , srcInfoPoints = []
                                  }
                                "match_fn")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 19 366 23
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 19 366 23
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 366 19 366 23
                                  , srcInfoPoints = []
                                  }
                                "args"))))
                    [ Alt
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 367 5 367 27
                          , srcInfoPoints = []
                          }
                        (PApp
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 367 5 367 14
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 367 5 367 9
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 367 5 367 9
                                   , srcInfoPoints = []
                                   }
                                 "Just"))
                           [ PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 367 10 367 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 367 10 367 14
                                    , srcInfoPoints = []
                                    }
                                  "expr")
                           ])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 367 15 367 27
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 367 15 367 17 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 367 18 367 27
                                , srcInfoPoints = []
                                }
                              (Con
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 367 18 367 22
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 367 18 367 22
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 367 18 367 22
                                         , srcInfoPoints = []
                                         }
                                       "Just")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 367 23 367 27
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 367 23 367 27
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 367 23 367 27
                                         , srcInfoPoints = []
                                         }
                                       "expr")))))
                        Nothing
                    , Alt
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 368 5 368 25
                          , srcInfoPoints = []
                          }
                        (PApp
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 368 5 368 12
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 368 5 368 12
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 368 5 368 12
                                   , srcInfoPoints = []
                                   }
                                 "Nothing"))
                           [])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 368 15 368 25
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 368 15 368 17 ]
                             }
                           (Con
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 368 18 368 25
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 368 18 368 25
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 368 18 368 25
                                      , srcInfoPoints = []
                                      }
                                    "Nothing"))))
                        Nothing
                    ]))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 1 382 53
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 381 3 381 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 1 370 10
                   , srcInfoPoints = []
                   }
                 "matchRule")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 11 370 20
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 11 370 20
                       , srcInfoPoints = []
                       }
                     "is_active")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 21 370 29
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 21 370 29
                       , srcInfoPoints = []
                       }
                     "in_scope")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 30 370 34
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 30 370 34
                       , srcInfoPoints = []
                       }
                     "args")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 35 370 45
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 370 35 370 45
                       , srcInfoPoints = []
                       }
                     "rough_args")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 11 373 26
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 371 11 371 12
                        , SrcSpan "tests/examples/RealGHC.lhs" 373 25 373 26
                        ]
                    }
                  (PRec
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 12 373 25
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 371 17 371 18
                           , SrcSpan "tests/examples/RealGHC.lhs" 371 31 371 32
                           , SrcSpan "tests/examples/RealGHC.lhs" 371 45 371 46
                           , SrcSpan "tests/examples/RealGHC.lhs" 371 66 371 67
                           , SrcSpan "tests/examples/RealGHC.lhs" 372 30 372 31
                           , SrcSpan "tests/examples/RealGHC.lhs" 372 50 372 51
                           , SrcSpan "tests/examples/RealGHC.lhs" 373 24 373 25
                           ]
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 12 371 16
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 12 371 16
                             , srcInfoPoints = []
                             }
                           "Rule"))
                     [ PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 19 371 31
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 371 27 371 28 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 19 371 26
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 19 371 26
                                 , srcInfoPoints = []
                                 }
                               "ru_name"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 29 371 31
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 29 371 31
                                 , srcInfoPoints = []
                                 }
                               "rn"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 33 371 45
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 371 40 371 41 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 33 371 39
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 33 371 39
                                 , srcInfoPoints = []
                                 }
                               "ru_act"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 42 371 45
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 42 371 45
                                 , srcInfoPoints = []
                                 }
                               "act"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 47 371 66
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 371 56 371 57 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 47 371 55
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 47 371 55
                                 , srcInfoPoints = []
                                 }
                               "ru_rough"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 58 371 66
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 371 58 371 66
                                 , srcInfoPoints = []
                                 }
                               "tpl_tops"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 11 372 30
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 372 20 372 21 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 11 372 19
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 11 372 19
                                 , srcInfoPoints = []
                                 }
                               "ru_bndrs"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 22 372 30
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 22 372 30
                                 , srcInfoPoints = []
                                 }
                               "tpl_vars"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 32 372 50
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 372 40 372 41 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 32 372 39
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 32 372 39
                                 , srcInfoPoints = []
                                 }
                               "ru_args"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 42 372 50
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 372 42 372 50
                                 , srcInfoPoints = []
                                 }
                               "tpl_args"))
                     , PFieldPat
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 373 11 373 23
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 373 18 373 19 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 373 11 373 17
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 373 11 373 17
                                 , srcInfoPoints = []
                                 }
                               "ru_rhs"))
                         (PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 373 20 373 23
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 373 20 373 23
                                 , srcInfoPoints = []
                                 }
                               "rhs"))
                     ])
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 3 380 47
                   , srcInfoPoints = []
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 3 374 44
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 374 3 374 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 374 35 374 36
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 5 374 24
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 5 374 24
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 5 374 8
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 5 374 8
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 374 5 374 8
                                       , srcInfoPoints = []
                                       }
                                     "not")))
                            (Paren
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 9 374 24
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 374 9 374 10
                                     , SrcSpan "tests/examples/RealGHC.lhs" 374 23 374 24
                                     ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 374 10 374 23
                                    , srcInfoPoints = []
                                    }
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 374 10 374 19
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 374 10 374 19
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 374 10 374 19
                                             , srcInfoPoints = []
                                             }
                                           "is_active")))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 374 20 374 23
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 374 20 374 23
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 374 20 374 23
                                             , srcInfoPoints = []
                                             }
                                           "act"))))))
                     ]
                     (Con
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 37 374 44
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 37 374 44
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 374 37 374 44
                                , srcInfoPoints = []
                                }
                              "Nothing")))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 3 375 48
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 375 3 375 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 375 39 375 40
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 5 375 38
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 5 375 38
                              , srcInfoPoints = []
                              }
                            (App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 5 375 27
                                 , srcInfoPoints = []
                                 }
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 375 5 375 18
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 375 5 375 18
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 375 5 375 18
                                          , srcInfoPoints = []
                                          }
                                        "ruleCantMatch")))
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 375 19 375 27
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 375 19 375 27
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 375 19 375 27
                                          , srcInfoPoints = []
                                          }
                                        "tpl_tops"))))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 28 375 38
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 375 28 375 38
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 375 28 375 38
                                       , srcInfoPoints = []
                                       }
                                     "rough_args"))))
                     ]
                     (Con
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 41 375 48
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 41 375 48
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 375 41 375 48
                                , srcInfoPoints = []
                                }
                              "Nothing")))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 376 3 380 47
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 376 3 376 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 377 3 377 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 376 5 376 14
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 376 5 376 14
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 376 5 376 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 376 5 376 14
                                    , srcInfoPoints = []
                                    }
                                  "otherwise")))
                     ]
                     (Case
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 377 5 380 47
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 377 5 377 9
                              , SrcSpan "tests/examples/RealGHC.lhs" 377 49 377 51
                              , SrcSpan "tests/examples/RealGHC.lhs" 378 5 378 5
                              , SrcSpan "tests/examples/RealGHC.lhs" 379 5 379 5
                              , SrcSpan "tests/examples/RealGHC.lhs" 381 3 381 0
                              ]
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 377 10 377 48
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 377 10 377 43
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 377 10 377 34
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 377 10 377 25
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 377 10 377 16
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 377 10 377 16
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 377 10 377 16
                                               , srcInfoPoints = []
                                               }
                                             "matchN")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 377 17 377 25
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 377 17 377 25
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 377 17 377 25
                                               , srcInfoPoints = []
                                               }
                                             "in_scope"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 377 26 377 34
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 377 26 377 34
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 377 26 377 34
                                            , srcInfoPoints = []
                                            }
                                          "tpl_vars"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 377 35 377 43
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 377 35 377 43
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 377 35 377 43
                                         , srcInfoPoints = []
                                         }
                                       "tpl_args"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 377 44 377 48
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 377 44 377 48
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 377 44 377 48
                                      , srcInfoPoints = []
                                      }
                                    "args"))))
                        [ Alt
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 378 5 378 34
                              , srcInfoPoints = []
                              }
                            (PApp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 378 5 378 12
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 378 5 378 12
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 378 5 378 12
                                       , srcInfoPoints = []
                                       }
                                     "Nothing"))
                               [])
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 378 24 378 34
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 378 24 378 26 ]
                                 }
                               (Con
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 378 27 378 34
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 378 27 378 34
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 378 27 378 34
                                          , srcInfoPoints = []
                                          }
                                        "Nothing"))))
                            Nothing
                        , Alt
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 379 5 380 47
                              , srcInfoPoints = []
                              }
                            (PApp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 379 5 379 27
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 379 5 379 9
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 379 5 379 9
                                       , srcInfoPoints = []
                                       }
                                     "Just"))
                               [ PTuple
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 379 10 379 27
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 379 10 379 11
                                         , SrcSpan "tests/examples/RealGHC.lhs" 379 16 379 17
                                         , SrcSpan "tests/examples/RealGHC.lhs" 379 26 379 27
                                         ]
                                     }
                                   Boxed
                                   [ PVar
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 379 11 379 16
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 379 11 379 16
                                            , srcInfoPoints = []
                                            }
                                          "binds")
                                   , PVar
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 379 18 379 26
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 379 18 379 26
                                            , srcInfoPoints = []
                                            }
                                          "tpl_vals")
                                   ]
                               ])
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 379 28 380 47
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 379 28 379 30 ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 379 31 380 47
                                    , srcInfoPoints = []
                                    }
                                  (Con
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 379 31 379 35
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 379 31 379 35
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 379 31 379 35
                                             , srcInfoPoints = []
                                             }
                                           "Just")))
                                  (Paren
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 379 36 380 47
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/RealGHC.lhs" 379 36 379 37
                                           , SrcSpan "tests/examples/RealGHC.lhs" 380 46 380 47
                                           ]
                                       }
                                     (InfixApp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 379 37 380 46
                                          , srcInfoPoints = []
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 379 37 379 49
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 379 37 379 43
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 379 37 379 43
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            379
                                                            37
                                                            379
                                                            43
                                                      , srcInfoPoints = []
                                                      }
                                                    "mkLets")))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 379 44 379 49
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 379 44 379 49
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            379
                                                            44
                                                            379
                                                            49
                                                      , srcInfoPoints = []
                                                      }
                                                    "binds"))))
                                        (QVarOp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 379 50 379 51
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 379 50 379 51
                                                , srcInfoPoints = []
                                                }
                                              (Symbol
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 379 50 379 51
                                                   , srcInfoPoints = []
                                                   }
                                                 "$")))
                                        (InfixApp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 380 21 380 46
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 380 21 380 28
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 380 21 380 28
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            380
                                                            21
                                                            380
                                                            28
                                                      , srcInfoPoints = []
                                                      }
                                                    "rule_fn")))
                                           (QVarOp
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 380 29 380 37
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/RealGHC.lhs" 380 29 380 30
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 380 30 380 36
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 380 36 380 37
                                                    ]
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 380 29 380 37
                                                   , srcInfoPoints =
                                                       [ SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           380
                                                           29
                                                           380
                                                           30
                                                       , SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           380
                                                           30
                                                           380
                                                           36
                                                       , SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           380
                                                           36
                                                           380
                                                           37
                                                       ]
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            380
                                                            30
                                                            380
                                                            36
                                                      , srcInfoPoints = []
                                                      }
                                                    "mkApps")))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 380 38 380 46
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 380 38 380 46
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            380
                                                            38
                                                            380
                                                            46
                                                      , srcInfoPoints = []
                                                      }
                                                    "tpl_vals"))))))))
                            Nothing
                        ])
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 382 5 382 53
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 382 5 382 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 390 1 390 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 382 5 382 53
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 382 5 382 12
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 382 5 382 12
                                , srcInfoPoints = []
                                }
                              "rule_fn"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 382 13 382 53
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 382 13 382 14 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 382 15 382 53
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 382 15 382 31
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 382 15 382 31
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 382 15 382 31
                                         , srcInfoPoints = []
                                         }
                                       "occurAnalyseExpr")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 382 32 382 53
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 382 32 382 33
                                       , SrcSpan "tests/examples/RealGHC.lhs" 382 52 382 53
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 382 33 382 52
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 382 33 382 48
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 382 33 382 39
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 382 33 382 39
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 382 33 382 39
                                                  , srcInfoPoints = []
                                                  }
                                                "mkLams")))
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 382 40 382 48
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 382 40 382 48
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 382 40 382 48
                                                  , srcInfoPoints = []
                                                  }
                                                "tpl_vars"))))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 382 49 382 52
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 382 49 382 52
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 382 49 382 52
                                               , srcInfoPoints = []
                                               }
                                             "rhs")))))))
                        Nothing
                    ]))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 390 1 395 22
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 390 9 390 11 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 390 1 390 7
                , srcInfoPoints = []
                }
              "matchN"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 390 12 395 22
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 391 5 391 7 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 390 12 390 22
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 390 12 390 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 390 12 390 22
                        , srcInfoPoints = []
                        }
                      "InScopeSet")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 391 8 395 22
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 392 5 392 7 ]
                  }
                (TyList
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 391 8 391 13
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 391 8 391 9
                         , SrcSpan "tests/examples/RealGHC.lhs" 391 12 391 13
                         ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 391 9 391 12
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 391 9 391 12
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 391 9 391 12
                              , srcInfoPoints = []
                              }
                            "Var"))))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 392 8 395 22
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 393 5 393 7 ]
                     }
                   (TyList
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 392 8 392 18
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 392 8 392 9
                            , SrcSpan "tests/examples/RealGHC.lhs" 392 17 392 18
                            ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 392 9 392 17
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 392 9 392 17
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 392 9 392 17
                                 , srcInfoPoints = []
                                 }
                               "CoreExpr"))))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 393 8 395 22
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 394 5 394 7 ]
                        }
                      (TyList
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 393 8 393 18
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 393 8 393 9
                               , SrcSpan "tests/examples/RealGHC.lhs" 393 17 393 18
                               ]
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 393 9 393 17
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 393 9 393 17
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 393 9 393 17
                                    , srcInfoPoints = []
                                    }
                                  "CoreExpr"))))
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 394 8 395 22
                           , srcInfoPoints = []
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 394 8 394 13
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 394 8 394 13
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 394 8 394 13
                                    , srcInfoPoints = []
                                    }
                                  "Maybe")))
                         (TyTuple
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 394 14 395 22
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/RealGHC.lhs" 394 14 394 15
                                  , SrcSpan "tests/examples/RealGHC.lhs" 394 25 394 26
                                  , SrcSpan "tests/examples/RealGHC.lhs" 395 21 395 22
                                  ]
                              }
                            Boxed
                            [ TyList
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 394 15 394 25
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 394 15 394 16
                                      , SrcSpan "tests/examples/RealGHC.lhs" 394 24 394 25
                                      ]
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 394 16 394 24
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 394 16 394 24
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 394 16 394 24
                                           , srcInfoPoints = []
                                           }
                                         "CoreBind")))
                            , TyList
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 395 11 395 21
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 395 11 395 12
                                      , SrcSpan "tests/examples/RealGHC.lhs" 395 20 395 21
                                      ]
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 395 12 395 20
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 395 12 395 20
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 395 12 395 20
                                           , srcInfoPoints = []
                                           }
                                         "CoreExpr")))
                            ]))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 1 423 89
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 402 3 402 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 1 423 89
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 402 3 402 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 1 397 7
                   , srcInfoPoints = []
                   }
                 "matchN")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 8 397 16
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 8 397 16
                       , srcInfoPoints = []
                       }
                     "in_scope")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 17 397 26
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 17 397 26
                       , srcInfoPoints = []
                       }
                     "tmpl_vars")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 27 397 34
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 27 397 34
                       , srcInfoPoints = []
                       }
                     "tmpl_es")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 35 397 44
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 397 35 397 44
                       , srcInfoPoints = []
                       }
                     "target_es")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 398 3 401 60
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 398 3 398 4 ]
                   }
                 (Do
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 398 5 401 60
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 398 5 398 7
                          , SrcSpan "tests/examples/RealGHC.lhs" 398 9 398 10
                          , SrcSpan "tests/examples/RealGHC.lhs" 400 5 400 6
                          , SrcSpan "tests/examples/RealGHC.lhs" 401 59 401 60
                          ]
                      }
                    [ Generator
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 398 11 399 56
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 399 9 399 11 ]
                          }
                        (PTuple
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 398 11 398 38
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 398 11 398 12
                                 , SrcSpan "tests/examples/RealGHC.lhs" 398 20 398 21
                                 , SrcSpan "tests/examples/RealGHC.lhs" 398 30 398 31
                                 , SrcSpan "tests/examples/RealGHC.lhs" 398 37 398 38
                                 ]
                             }
                           Boxed
                           [ PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 398 12 398 20
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 398 12 398 20
                                    , srcInfoPoints = []
                                    }
                                  "tv_subst")
                           , PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 398 22 398 30
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 398 22 398 30
                                    , srcInfoPoints = []
                                    }
                                  "id_subst")
                           , PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 398 32 398 37
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 398 32 398 37
                                    , srcInfoPoints = []
                                    }
                                  "binds")
                           ])
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 399 12 399 56
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 399 12 399 46
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 399 12 399 38
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 399 12 399 24
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 399 12 399 14
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 399 12 399 14
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 399 12 399 14
                                               , srcInfoPoints = []
                                               }
                                             "go")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 399 15 399 24
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 399 15 399 24
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 399 15 399 24
                                               , srcInfoPoints = []
                                               }
                                             "init_menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 399 25 399 38
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 399 25 399 38
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 399 25 399 38
                                            , srcInfoPoints = []
                                            }
                                          "emptySubstEnv"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 399 39 399 46
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 399 39 399 46
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 399 39 399 46
                                         , srcInfoPoints = []
                                         }
                                       "tmpl_es"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 399 47 399 56
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 399 47 399 56
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 399 47 399 56
                                      , srcInfoPoints = []
                                      }
                                    "target_es"))))
                    , Qualifier
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 400 7 401 58
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 400 7 401 58
                             , srcInfoPoints = []
                             }
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 400 7 400 13
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 400 7 400 13
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 400 7 400 13
                                      , srcInfoPoints = []
                                      }
                                    "return")))
                           (Tuple
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 400 14 401 58
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 400 14 400 15
                                    , SrcSpan "tests/examples/RealGHC.lhs" 400 27 400 28
                                    , SrcSpan "tests/examples/RealGHC.lhs" 401 57 401 58
                                    ]
                                }
                              Boxed
                              [ App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 400 15 400 27
                                    , srcInfoPoints = []
                                    }
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 400 15 400 21
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 400 15 400 21
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 400 15 400 21
                                             , srcInfoPoints = []
                                             }
                                           "fromOL")))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 400 22 400 27
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 400 22 400 27
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 400 22 400 27
                                             , srcInfoPoints = []
                                             }
                                           "binds")))
                              , App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 401 11 401 57
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 401 11 401 46
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 401 11 401 14
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 401 11 401 14
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 401 11 401 14
                                                , srcInfoPoints = []
                                                }
                                              "map")))
                                     (Paren
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 401 15 401 46
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 401 15 401 16
                                              , SrcSpan "tests/examples/RealGHC.lhs" 401 45 401 46
                                              ]
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 401 16 401 45
                                             , srcInfoPoints = []
                                             }
                                           (App
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 401 16 401 36
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 401 16 401 27
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            401
                                                            16
                                                            401
                                                            27
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               401
                                                               16
                                                               401
                                                               27
                                                         , srcInfoPoints = []
                                                         }
                                                       "lookup_tmpl")))
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 401 28 401 36
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            401
                                                            28
                                                            401
                                                            36
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               401
                                                               28
                                                               401
                                                               36
                                                         , srcInfoPoints = []
                                                         }
                                                       "tv_subst"))))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 401 37 401 45
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 401 37 401 45
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            401
                                                            37
                                                            401
                                                            45
                                                      , srcInfoPoints = []
                                                      }
                                                    "id_subst"))))))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 401 47 401 57
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 401 47 401 57
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 401 47 401 57
                                             , srcInfoPoints = []
                                             }
                                           "tmpl_vars'")))
                              ]))
                    ]))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 403 5 423 89
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 403 5 403 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 406 5 406 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 408 5 408 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 409 5 409 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 410 5 410 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 413 5 413 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 414 5 414 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 422 5 422 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 457 1 457 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 403 5 403 80
                          , srcInfoPoints = []
                          }
                        (PTuple
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 403 5 403 30
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 403 5 403 6
                                 , SrcSpan "tests/examples/RealGHC.lhs" 403 17 403 18
                                 , SrcSpan "tests/examples/RealGHC.lhs" 403 29 403 30
                                 ]
                             }
                           Boxed
                           [ PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 403 6 403 17
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 403 6 403 17
                                    , srcInfoPoints = []
                                    }
                                  "init_rn_env")
                           , PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 403 19 403 29
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 403 19 403 29
                                    , srcInfoPoints = []
                                    }
                                  "tmpl_vars'")
                           ])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 403 31 403 80
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 403 31 403 32 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 403 33 403 80
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 403 33 403 70
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 403 33 403 50
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 403 33 403 42
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 403 33 403 42
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 403 33 403 42
                                               , srcInfoPoints = []
                                               }
                                             "mapAccumL")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 403 43 403 50
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 403 43 403 50
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 403 43 403 50
                                               , srcInfoPoints = []
                                               }
                                             "rnBndrL"))))
                                 (Paren
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 403 51 403 70
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 403 51 403 52
                                          , SrcSpan "tests/examples/RealGHC.lhs" 403 69 403 70
                                          ]
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 403 52 403 69
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 403 52 403 60
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 403 52 403 60
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 403 52 403 60
                                                  , srcInfoPoints = []
                                                  }
                                                "mkRnEnv2")))
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 403 61 403 69
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 403 61 403 69
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 403 61 403 69
                                                  , srcInfoPoints = []
                                                  }
                                                "in_scope"))))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 403 71 403 80
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 403 71 403 80
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 403 71 403 80
                                         , srcInfoPoints = []
                                         }
                                       "tmpl_vars")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 406 5 406 76
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 406 5 406 14
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 406 5 406 14
                                , srcInfoPoints = []
                                }
                              "init_menv"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 406 15 406 76
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 406 15 406 16 ]
                             }
                           (RecConstr
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 406 17 406 76
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 406 20 406 21
                                    , SrcSpan "tests/examples/RealGHC.lhs" 406 52 406 53
                                    , SrcSpan "tests/examples/RealGHC.lhs" 406 75 406 76
                                    ]
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 406 17 406 19
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 406 17 406 19
                                      , srcInfoPoints = []
                                      }
                                    "ME"))
                              [ FieldUpdate
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 406 22 406 52
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 406 31 406 32 ]
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 406 22 406 30
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 406 22 406 30
                                          , srcInfoPoints = []
                                          }
                                        "me_tmpls"))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 406 33 406 52
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 406 33 406 41
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 406 33 406 41
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 406 33 406 41
                                                , srcInfoPoints = []
                                                }
                                              "mkVarSet")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 406 42 406 52
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 406 42 406 52
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 406 42 406 52
                                                , srcInfoPoints = []
                                                }
                                              "tmpl_vars'"))))
                              , FieldUpdate
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 406 54 406 74
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 406 61 406 62 ]
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 406 54 406 60
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 406 54 406 60
                                          , srcInfoPoints = []
                                          }
                                        "me_env"))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 406 63 406 74
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 406 63 406 74
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 406 63 406 74
                                             , srcInfoPoints = []
                                             }
                                           "init_rn_env")))
                              ]))
                        Nothing
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 5 411 46
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 5 408 45
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 5 408 7
                                 , srcInfoPoints = []
                                 }
                               "go")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 8 408 12
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 408 8 408 12
                                     , srcInfoPoints = []
                                     }
                                   "menv")
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 13 408 18
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 408 13 408 18
                                     , srcInfoPoints = []
                                     }
                                   "subst")
                            , PList
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 19 408 21
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 408 19 408 20
                                      , SrcSpan "tests/examples/RealGHC.lhs" 408 20 408 21
                                      ]
                                  }
                                []
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 26 408 28
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 408 26 408 28
                                     , srcInfoPoints = []
                                     }
                                   "es")
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 408 33 408 45
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 408 33 408 34 ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 408 35 408 45
                                    , srcInfoPoints = []
                                    }
                                  (Con
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 408 35 408 39
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 408 35 408 39
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 408 35 408 39
                                             , srcInfoPoints = []
                                             }
                                           "Just")))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 408 40 408 45
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 408 40 408 45
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 408 40 408 45
                                             , srcInfoPoints = []
                                             }
                                           "subst")))))
                            Nothing
                        , Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 409 5 409 42
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 409 5 409 7
                                 , srcInfoPoints = []
                                 }
                               "go")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 409 8 409 12
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 409 8 409 12
                                     , srcInfoPoints = []
                                     }
                                   "menv")
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 409 13 409 18
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 409 13 409 18
                                     , srcInfoPoints = []
                                     }
                                   "subst")
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 409 19 409 21
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 409 19 409 21
                                     , srcInfoPoints = []
                                     }
                                   "ts")
                            , PList
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 409 26 409 28
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 409 26 409 27
                                      , SrcSpan "tests/examples/RealGHC.lhs" 409 27 409 28
                                      ]
                                  }
                                []
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 409 33 409 42
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 409 33 409 34 ]
                                 }
                               (Con
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 409 35 409 42
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 409 35 409 42
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 409 35 409 42
                                          , srcInfoPoints = []
                                          }
                                        "Nothing"))))
                            Nothing
                        , Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 410 5 411 46
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 410 5 410 7
                                 , srcInfoPoints = []
                                 }
                               "go")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 410 8 410 12
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 410 8 410 12
                                     , srcInfoPoints = []
                                     }
                                   "menv")
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 410 13 410 18
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 410 13 410 18
                                     , srcInfoPoints = []
                                     }
                                   "subst")
                            , PParen
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 410 19 410 25
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 410 19 410 20
                                      , SrcSpan "tests/examples/RealGHC.lhs" 410 24 410 25
                                      ]
                                  }
                                (PInfixApp
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 410 20 410 24
                                     , srcInfoPoints = []
                                     }
                                   (PVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 410 20 410 21
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 20 410 21
                                           , srcInfoPoints = []
                                           }
                                         "t"))
                                   (Special
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 410 21 410 22
                                        , srcInfoPoints = []
                                        }
                                      (Cons
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 21 410 22
                                           , srcInfoPoints = []
                                           }))
                                   (PVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 410 22 410 24
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 22 410 24
                                           , srcInfoPoints = []
                                           }
                                         "ts")))
                            , PParen
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 410 26 410 32
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 410 26 410 27
                                      , SrcSpan "tests/examples/RealGHC.lhs" 410 31 410 32
                                      ]
                                  }
                                (PInfixApp
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 410 27 410 31
                                     , srcInfoPoints = []
                                     }
                                   (PVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 410 27 410 28
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 27 410 28
                                           , srcInfoPoints = []
                                           }
                                         "e"))
                                   (Special
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 410 28 410 29
                                        , srcInfoPoints = []
                                        }
                                      (Cons
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 28 410 29
                                           , srcInfoPoints = []
                                           }))
                                   (PVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 410 29 410 31
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 29 410 31
                                           , srcInfoPoints = []
                                           }
                                         "es")))
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 410 33 411 46
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 410 33 410 34 ]
                                 }
                               (Do
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 410 35 411 46
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 410 35 410 37
                                        , SrcSpan "tests/examples/RealGHC.lhs" 410 38 410 39
                                        , SrcSpan "tests/examples/RealGHC.lhs" 411 22 411 23
                                        , SrcSpan "tests/examples/RealGHC.lhs" 411 45 411 46
                                        ]
                                    }
                                  [ Generator
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 410 40 410 70
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RealGHC.lhs" 410 47 410 49 ]
                                        }
                                      (PVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 40 410 46
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 410 40 410 46
                                              , srcInfoPoints = []
                                              }
                                            "subst1"))
                                      (App
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 410 50 410 70
                                           , srcInfoPoints = []
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 410 50 410 68
                                              , srcInfoPoints = []
                                              }
                                            (App
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 410 50 410 66
                                                 , srcInfoPoints = []
                                                 }
                                               (App
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 410 50 410 60
                                                    , srcInfoPoints = []
                                                    }
                                                  (Var
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             410
                                                             50
                                                             410
                                                             55
                                                       , srcInfoPoints = []
                                                       }
                                                     (UnQual
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                410
                                                                50
                                                                410
                                                                55
                                                          , srcInfoPoints = []
                                                          }
                                                        (Ident
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   410
                                                                   50
                                                                   410
                                                                   55
                                                             , srcInfoPoints = []
                                                             }
                                                           "match")))
                                                  (Var
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             410
                                                             56
                                                             410
                                                             60
                                                       , srcInfoPoints = []
                                                       }
                                                     (UnQual
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                410
                                                                56
                                                                410
                                                                60
                                                          , srcInfoPoints = []
                                                          }
                                                        (Ident
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   410
                                                                   56
                                                                   410
                                                                   60
                                                             , srcInfoPoints = []
                                                             }
                                                           "menv"))))
                                               (Var
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 410 61 410 66
                                                    , srcInfoPoints = []
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             410
                                                             61
                                                             410
                                                             66
                                                       , srcInfoPoints = []
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                410
                                                                61
                                                                410
                                                                66
                                                          , srcInfoPoints = []
                                                          }
                                                        "subst"))))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 410 67 410 68
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 410 67 410 68
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             410
                                                             67
                                                             410
                                                             68
                                                       , srcInfoPoints = []
                                                       }
                                                     "t"))))
                                         (Var
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 410 69 410 70
                                              , srcInfoPoints = []
                                              }
                                            (UnQual
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 410 69 410 70
                                                 , srcInfoPoints = []
                                                 }
                                               (Ident
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 410 69 410 70
                                                    , srcInfoPoints = []
                                                    }
                                                  "e"))))
                                  , Qualifier
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 411 24 411 44
                                        , srcInfoPoints = []
                                        }
                                      (App
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 411 24 411 44
                                           , srcInfoPoints = []
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 411 24 411 41
                                              , srcInfoPoints = []
                                              }
                                            (App
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 411 24 411 38
                                                 , srcInfoPoints = []
                                                 }
                                               (App
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 411 24 411 31
                                                    , srcInfoPoints = []
                                                    }
                                                  (Var
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             411
                                                             24
                                                             411
                                                             26
                                                       , srcInfoPoints = []
                                                       }
                                                     (UnQual
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                411
                                                                24
                                                                411
                                                                26
                                                          , srcInfoPoints = []
                                                          }
                                                        (Ident
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   411
                                                                   24
                                                                   411
                                                                   26
                                                             , srcInfoPoints = []
                                                             }
                                                           "go")))
                                                  (Var
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             411
                                                             27
                                                             411
                                                             31
                                                       , srcInfoPoints = []
                                                       }
                                                     (UnQual
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                411
                                                                27
                                                                411
                                                                31
                                                          , srcInfoPoints = []
                                                          }
                                                        (Ident
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   411
                                                                   27
                                                                   411
                                                                   31
                                                             , srcInfoPoints = []
                                                             }
                                                           "menv"))))
                                               (Var
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 411 32 411 38
                                                    , srcInfoPoints = []
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             411
                                                             32
                                                             411
                                                             38
                                                       , srcInfoPoints = []
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                411
                                                                32
                                                                411
                                                                38
                                                          , srcInfoPoints = []
                                                          }
                                                        "subst1"))))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 411 39 411 41
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 411 39 411 41
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             411
                                                             39
                                                             411
                                                             41
                                                       , srcInfoPoints = []
                                                       }
                                                     "ts"))))
                                         (Var
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 411 42 411 44
                                              , srcInfoPoints = []
                                              }
                                            (UnQual
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 411 42 411 44
                                                 , srcInfoPoints = []
                                                 }
                                               (Ident
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 411 42 411 44
                                                    , srcInfoPoints = []
                                                    }
                                                  "es"))))
                                  ]))
                            Nothing
                        ]
                    , TypeSig
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 413 5 413 63
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 413 17 413 19 ]
                          }
                        [ Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 413 5 413 16
                              , srcInfoPoints = []
                              }
                            "lookup_tmpl"
                        ]
                        (TyFun
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 413 20 413 63
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 413 31 413 33 ]
                             }
                           (TyCon
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 413 20 413 30
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 413 20 413 30
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 413 20 413 30
                                      , srcInfoPoints = []
                                      }
                                    "TvSubstEnv")))
                           (TyFun
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 413 34 413 63
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 413 45 413 47 ]
                                }
                              (TyCon
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 413 34 413 44
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 413 34 413 44
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 413 34 413 44
                                         , srcInfoPoints = []
                                         }
                                       "IdSubstEnv")))
                              (TyFun
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 413 48 413 63
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 413 52 413 54 ]
                                   }
                                 (TyCon
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 413 48 413 51
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 413 48 413 51
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 413 48 413 51
                                            , srcInfoPoints = []
                                            }
                                          "Var")))
                                 (TyCon
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 413 55 413 63
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 413 55 413 63
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 413 55 413 63
                                            , srcInfoPoints = []
                                            }
                                          "CoreExpr"))))))
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 414 5 420 44
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 414 5 420 44
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 414 5 414 16
                                 , srcInfoPoints = []
                                 }
                               "lookup_tmpl")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 414 17 414 25
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 414 17 414 25
                                     , srcInfoPoints = []
                                     }
                                   "tv_subst")
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 414 26 414 34
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 414 26 414 34
                                     , srcInfoPoints = []
                                     }
                                   "id_subst")
                            , PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 414 35 414 44
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 414 35 414 44
                                     , srcInfoPoints = []
                                     }
                                   "tmpl_var'")
                            ]
                            (GuardedRhss
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 415 9 420 44
                                 , srcInfoPoints = []
                                 }
                               [ GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 415 9 417 49
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 415 9 415 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 415 29 415 30
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 415 11 415 28
                                         , srcInfoPoints = []
                                         }
                                       (App
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 415 11 415 28
                                            , srcInfoPoints = []
                                            }
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 415 11 415 18
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 415 11 415 18
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           415
                                                           11
                                                           415
                                                           18
                                                     , srcInfoPoints = []
                                                     }
                                                   "isTyVar")))
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 415 19 415 28
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 415 19 415 28
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           415
                                                           19
                                                           415
                                                           28
                                                     , srcInfoPoints = []
                                                     }
                                                   "tmpl_var'"))))
                                   ]
                                   (Case
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 415 31 417 49
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RealGHC.lhs" 415 31 415 35
                                            , SrcSpan "tests/examples/RealGHC.lhs" 415 68 415 70
                                            , SrcSpan "tests/examples/RealGHC.lhs" 416 17 416 17
                                            , SrcSpan "tests/examples/RealGHC.lhs" 417 17 417 17
                                            , SrcSpan "tests/examples/RealGHC.lhs" 418 9 418 0
                                            ]
                                        }
                                      (App
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 415 36 415 67
                                           , srcInfoPoints = []
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 415 36 415 57
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 415 36 415 48
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 415 36 415 48
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             415
                                                             36
                                                             415
                                                             48
                                                       , srcInfoPoints = []
                                                       }
                                                     "lookupVarEnv")))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 415 49 415 57
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 415 49 415 57
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             415
                                                             49
                                                             415
                                                             57
                                                       , srcInfoPoints = []
                                                       }
                                                     "tv_subst"))))
                                         (Var
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 415 58 415 67
                                              , srcInfoPoints = []
                                              }
                                            (UnQual
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 415 58 415 67
                                                 , srcInfoPoints = []
                                                 }
                                               (Ident
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 415 58 415 67
                                                    , srcInfoPoints = []
                                                    }
                                                  "tmpl_var'"))))
                                      [ Alt
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 416 17 416 39
                                            , srcInfoPoints = []
                                            }
                                          (PApp
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 416 17 416 24
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 416 17 416 21
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           416
                                                           17
                                                           416
                                                           21
                                                     , srcInfoPoints = []
                                                     }
                                                   "Just"))
                                             [ PVar
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 416 22 416 24
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            416
                                                            22
                                                            416
                                                            24
                                                      , srcInfoPoints = []
                                                      }
                                                    "ty")
                                             ])
                                          (UnGuardedRhs
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 416 29 416 39
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 416 29 416 31
                                                   ]
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 416 32 416 39
                                                  , srcInfoPoints = []
                                                  }
                                                (Con
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           416
                                                           32
                                                           416
                                                           36
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              416
                                                              32
                                                              416
                                                              36
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 416
                                                                 32
                                                                 416
                                                                 36
                                                           , srcInfoPoints = []
                                                           }
                                                         "Type")))
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           416
                                                           37
                                                           416
                                                           39
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              416
                                                              37
                                                              416
                                                              39
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 416
                                                                 37
                                                                 416
                                                                 39
                                                           , srcInfoPoints = []
                                                           }
                                                         "ty")))))
                                          Nothing
                                      , Alt
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 417 17 417 49
                                            , srcInfoPoints = []
                                            }
                                          (PApp
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 417 17 417 24
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 417 17 417 24
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           417
                                                           17
                                                           417
                                                           24
                                                     , srcInfoPoints = []
                                                     }
                                                   "Nothing"))
                                             [])
                                          (UnGuardedRhs
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 417 29 417 49
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 417 29 417 31
                                                   ]
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 417 32 417 49
                                                  , srcInfoPoints = []
                                                  }
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           417
                                                           32
                                                           417
                                                           39
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              417
                                                              32
                                                              417
                                                              39
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 417
                                                                 32
                                                                 417
                                                                 39
                                                           , srcInfoPoints = []
                                                           }
                                                         "unbound")))
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           417
                                                           40
                                                           417
                                                           49
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              417
                                                              40
                                                              417
                                                              49
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 417
                                                                 40
                                                                 417
                                                                 49
                                                           , srcInfoPoints = []
                                                           }
                                                         "tmpl_var'")))))
                                          Nothing
                                      ])
                               , GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 418 9 420 44
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 418 9 418 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 418 25 418 26
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 418 11 418 20
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 418 11 418 20
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 418 11 418 20
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 418 11 418 20
                                                  , srcInfoPoints = []
                                                  }
                                                "otherwise")))
                                   ]
                                   (Case
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 418 27 420 44
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RealGHC.lhs" 418 27 418 31
                                            , SrcSpan "tests/examples/RealGHC.lhs" 418 64 418 66
                                            , SrcSpan "tests/examples/RealGHC.lhs" 419 17 419 17
                                            , SrcSpan "tests/examples/RealGHC.lhs" 420 17 420 17
                                            , SrcSpan "tests/examples/RealGHC.lhs" 422 5 422 0
                                            ]
                                        }
                                      (App
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 418 32 418 63
                                           , srcInfoPoints = []
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 418 32 418 53
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 418 32 418 44
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 418 32 418 44
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             418
                                                             32
                                                             418
                                                             44
                                                       , srcInfoPoints = []
                                                       }
                                                     "lookupVarEnv")))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 418 45 418 53
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 418 45 418 53
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             418
                                                             45
                                                             418
                                                             53
                                                       , srcInfoPoints = []
                                                       }
                                                     "id_subst"))))
                                         (Var
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 418 54 418 63
                                              , srcInfoPoints = []
                                              }
                                            (UnQual
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 418 54 418 63
                                                 , srcInfoPoints = []
                                                 }
                                               (Ident
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 418 54 418 63
                                                    , srcInfoPoints = []
                                                    }
                                                  "tmpl_var'"))))
                                      [ Alt
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 419 17 419 28
                                            , srcInfoPoints = []
                                            }
                                          (PApp
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 419 17 419 23
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 419 17 419 21
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           419
                                                           17
                                                           419
                                                           21
                                                     , srcInfoPoints = []
                                                     }
                                                   "Just"))
                                             [ PVar
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 419 22 419 23
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            419
                                                            22
                                                            419
                                                            23
                                                      , srcInfoPoints = []
                                                      }
                                                    "e")
                                             ])
                                          (UnGuardedRhs
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 419 24 419 28
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 419 24 419 26
                                                   ]
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 419 27 419 28
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           419
                                                           27
                                                           419
                                                           28
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              419
                                                              27
                                                              419
                                                              28
                                                        , srcInfoPoints = []
                                                        }
                                                      "e"))))
                                          Nothing
                                      , Alt
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 420 17 420 44
                                            , srcInfoPoints = []
                                            }
                                          (PVar
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 420 17 420 22
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 420 17 420 22
                                                  , srcInfoPoints = []
                                                  }
                                                "other"))
                                          (UnGuardedRhs
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 420 24 420 44
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 420 24 420 26
                                                   ]
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 420 27 420 44
                                                  , srcInfoPoints = []
                                                  }
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           420
                                                           27
                                                           420
                                                           34
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              420
                                                              27
                                                              420
                                                              34
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 420
                                                                 27
                                                                 420
                                                                 34
                                                           , srcInfoPoints = []
                                                           }
                                                         "unbound")))
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           420
                                                           35
                                                           420
                                                           44
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              420
                                                              35
                                                              420
                                                              44
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 420
                                                                 35
                                                                 420
                                                                 44
                                                           , srcInfoPoints = []
                                                           }
                                                         "tmpl_var'")))))
                                          Nothing
                                      ])
                               ])
                            Nothing
                        ]
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 422 5 423 89
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 422 5 423 89
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 422 5 422 12
                                 , srcInfoPoints = []
                                 }
                               "unbound")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 422 13 422 16
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 422 13 422 16
                                     , srcInfoPoints = []
                                     }
                                   "var")
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 422 17 423 89
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 422 17 422 18 ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 422 19 423 89
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 422 19 422 71
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 422 19 422 27
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 422 19 422 27
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 422 19 422 27
                                                , srcInfoPoints = []
                                                }
                                              "pprPanic")))
                                     (Lit
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 422 28 422 71
                                          , srcInfoPoints = []
                                          }
                                        (String
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 422 28 422 71
                                             , srcInfoPoints = []
                                             }
                                           "Template variable unbound in rewrite rule"
                                           "Template variable unbound in rewrite rule")))
                                  (Paren
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 423 13 423 89
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/RealGHC.lhs" 423 13 423 14
                                           , SrcSpan "tests/examples/RealGHC.lhs" 423 88 423 89
                                           ]
                                       }
                                     (InfixApp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 423 14 423 88
                                          , srcInfoPoints = []
                                          }
                                        (InfixApp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 423 14 423 71
                                             , srcInfoPoints = []
                                             }
                                           (InfixApp
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 423 14 423 56
                                                , srcInfoPoints = []
                                                }
                                              (InfixApp
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 14 423 38
                                                   , srcInfoPoints = []
                                                   }
                                                 (App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            14
                                                            423
                                                            21
                                                      , srcInfoPoints = []
                                                      }
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               14
                                                               423
                                                               17
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  423
                                                                  14
                                                                  423
                                                                  17
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     423
                                                                     14
                                                                     423
                                                                     17
                                                               , srcInfoPoints = []
                                                               }
                                                             "ppr")))
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               18
                                                               423
                                                               21
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  423
                                                                  18
                                                                  423
                                                                  21
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     423
                                                                     18
                                                                     423
                                                                     21
                                                               , srcInfoPoints = []
                                                               }
                                                             "var"))))
                                                 (QVarOp
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            22
                                                            423
                                                            24
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               22
                                                               423
                                                               24
                                                         , srcInfoPoints = []
                                                         }
                                                       (Symbol
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  423
                                                                  22
                                                                  423
                                                                  24
                                                            , srcInfoPoints = []
                                                            }
                                                          "$$")))
                                                 (App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            25
                                                            423
                                                            38
                                                      , srcInfoPoints = []
                                                      }
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               25
                                                               423
                                                               28
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  423
                                                                  25
                                                                  423
                                                                  28
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     423
                                                                     25
                                                                     423
                                                                     28
                                                               , srcInfoPoints = []
                                                               }
                                                             "ppr")))
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               29
                                                               423
                                                               38
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  423
                                                                  29
                                                                  423
                                                                  38
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     423
                                                                     29
                                                                     423
                                                                     38
                                                               , srcInfoPoints = []
                                                               }
                                                             "tmpl_vars")))))
                                              (QVarOp
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 39 423 41
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            39
                                                            423
                                                            41
                                                      , srcInfoPoints = []
                                                      }
                                                    (Symbol
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               39
                                                               423
                                                               41
                                                         , srcInfoPoints = []
                                                         }
                                                       "$$")))
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 42 423 56
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            42
                                                            423
                                                            45
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               42
                                                               423
                                                               45
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  423
                                                                  42
                                                                  423
                                                                  45
                                                            , srcInfoPoints = []
                                                            }
                                                          "ppr")))
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            46
                                                            423
                                                            56
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               46
                                                               423
                                                               56
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  423
                                                                  46
                                                                  423
                                                                  56
                                                            , srcInfoPoints = []
                                                            }
                                                          "tmpl_vars'")))))
                                           (QVarOp
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 423 57 423 59
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 57 423 59
                                                   , srcInfoPoints = []
                                                   }
                                                 (Symbol
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            57
                                                            423
                                                            59
                                                      , srcInfoPoints = []
                                                      }
                                                    "$$")))
                                           (App
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 423 60 423 71
                                                , srcInfoPoints = []
                                                }
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 60 423 63
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            60
                                                            423
                                                            63
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               60
                                                               423
                                                               63
                                                         , srcInfoPoints = []
                                                         }
                                                       "ppr")))
                                              (Var
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 64 423 71
                                                   , srcInfoPoints = []
                                                   }
                                                 (UnQual
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            64
                                                            423
                                                            71
                                                      , srcInfoPoints = []
                                                      }
                                                    (Ident
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               423
                                                               64
                                                               423
                                                               71
                                                         , srcInfoPoints = []
                                                         }
                                                       "tmpl_es")))))
                                        (QVarOp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 423 72 423 74
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 423 72 423 74
                                                , srcInfoPoints = []
                                                }
                                              (Symbol
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 72 423 74
                                                   , srcInfoPoints = []
                                                   }
                                                 "$$")))
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 423 75 423 88
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 423 75 423 78
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 75 423 78
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            75
                                                            423
                                                            78
                                                      , srcInfoPoints = []
                                                      }
                                                    "ppr")))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 423 79 423 88
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 423 79 423 88
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            423
                                                            79
                                                            423
                                                            88
                                                      , srcInfoPoints = []
                                                      }
                                                    "target_es"))))))))
                            Nothing
                        ]
                    ]))
          ]
      , TypeDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 1 457 61
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 457 1 457 5
                , SrcSpan "tests/examples/RealGHC.lhs" 457 17 457 18
                ]
            }
          (DHead
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 6 457 14
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 6 457 14
                  , srcInfoPoints = []
                  }
                "SubstEnv"))
          (TyTuple
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 19 457 61
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 457 19 457 20
                   , SrcSpan "tests/examples/RealGHC.lhs" 457 30 457 31
                   , SrcSpan "tests/examples/RealGHC.lhs" 457 42 457 43
                   , SrcSpan "tests/examples/RealGHC.lhs" 457 60 457 61
                   ]
               }
             Boxed
             [ TyCon
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 20 457 30
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 20 457 30
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 20 457 30
                         , srcInfoPoints = []
                         }
                       "TvSubstEnv"))
             , TyCon
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 32 457 42
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 32 457 42
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 32 457 42
                         , srcInfoPoints = []
                         }
                       "IdSubstEnv"))
             , TyApp
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 44 457 60
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 44 457 51
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 44 457 51
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 44 457 51
                            , srcInfoPoints = []
                            }
                          "OrdList")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 52 457 60
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 52 457 60
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 457 52 457 60
                            , srcInfoPoints = []
                            }
                          "CoreBind")))
             ])
      , TypeDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 1 458 33
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 458 1 458 5
                , SrcSpan "tests/examples/RealGHC.lhs" 458 17 458 18
                ]
            }
          (DHead
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 6 458 16
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 6 458 16
                  , srcInfoPoints = []
                  }
                "IdSubstEnv"))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 19 458 33
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 19 458 24
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 19 458 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 19 458 24
                        , srcInfoPoints = []
                        }
                      "IdEnv")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 25 458 33
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 25 458 33
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 458 25 458 33
                        , srcInfoPoints = []
                        }
                      "CoreExpr"))))
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 460 1 460 26
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 460 15 460 17 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 460 1 460 14
                , srcInfoPoints = []
                }
              "emptySubstEnv"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 460 18 460 26
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 460 18 460 26
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 460 18 460 26
                     , srcInfoPoints = []
                     }
                   "SubstEnv")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 1 461 50
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 1 461 14
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 1 461 14
                  , srcInfoPoints = []
                  }
                "emptySubstEnv"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 15 461 50
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 461 15 461 16 ]
               }
             (Tuple
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 17 461 50
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 461 17 461 18
                      , SrcSpan "tests/examples/RealGHC.lhs" 461 29 461 30
                      , SrcSpan "tests/examples/RealGHC.lhs" 461 42 461 43
                      , SrcSpan "tests/examples/RealGHC.lhs" 461 49 461 50
                      ]
                  }
                Boxed
                [ Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 18 461 29
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 18 461 29
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 18 461 29
                            , srcInfoPoints = []
                            }
                          "emptyVarEnv"))
                , Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 31 461 42
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 31 461 42
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 31 461 42
                            , srcInfoPoints = []
                            }
                          "emptyVarEnv"))
                , Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 44 461 49
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 44 461 49
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 461 44 461 49
                            , srcInfoPoints = []
                            }
                          "nilOL"))
                ]))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 473 1 477 24
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 473 7 473 9 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 473 1 473 6
                , srcInfoPoints = []
                }
              "match"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 473 10 477 24
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 474 7 474 9 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 473 10 473 18
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 473 10 473 18
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 473 10 473 18
                        , srcInfoPoints = []
                        }
                      "MatchEnv")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 474 10 477 24
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 475 7 475 9 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 474 10 474 18
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 474 10 474 18
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 474 10 474 18
                           , srcInfoPoints = []
                           }
                         "SubstEnv")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 475 10 477 24
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 476 7 476 9 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 475 10 475 18
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 475 10 475 18
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 475 10 475 18
                              , srcInfoPoints = []
                              }
                            "CoreExpr")))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 476 10 477 24
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 477 7 477 9 ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 476 10 476 18
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 476 10 476 18
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 476 10 476 18
                                 , srcInfoPoints = []
                                 }
                               "CoreExpr")))
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 477 10 477 24
                           , srcInfoPoints = []
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 477 10 477 15
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 477 10 477 15
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 477 10 477 15
                                    , srcInfoPoints = []
                                    }
                                  "Maybe")))
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 477 16 477 24
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 477 16 477 24
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 477 16 477 24
                                    , srcInfoPoints = []
                                    }
                                  "SubstEnv"))))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 1 671 21
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 1 497 15
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 1 495 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 7 495 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 7 495 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 12 495 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 12 495 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 18 495 26
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 495 18 495 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 495 25 495 26
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 19 495 25
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 19 495 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 19 495 22
                             , srcInfoPoints = []
                             }
                           "Var"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 23 495 25
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 23 495 25
                              , srcInfoPoints = []
                              }
                            "v1")
                     ])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 27 495 29
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 495 27 495 29
                       , srcInfoPoints = []
                       }
                     "e2")
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 3 497 15
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 496 3 496 4
                       , SrcSpan "tests/examples/RealGHC.lhs" 497 3 497 4
                       ]
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 3 497 15
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 496 3 496 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 497 3 497 4
                           ]
                       }
                     [ Generator
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 5 496 45
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 496 16 496 18 ]
                           }
                         (PApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 5 496 15
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 5 496 9
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 5 496 9
                                    , srcInfoPoints = []
                                    }
                                  "Just"))
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 10 496 15
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 496 10 496 15
                                     , srcInfoPoints = []
                                     }
                                   "subst")
                            ])
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 19 496 45
                              , srcInfoPoints = []
                              }
                            (App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 19 496 42
                                 , srcInfoPoints = []
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 496 19 496 39
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 496 19 496 33
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 496 19 496 28
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 496 19 496 28
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 496 19 496 28
                                                , srcInfoPoints = []
                                                }
                                              "match_var")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 496 29 496 33
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 496 29 496 33
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 496 29 496 33
                                                , srcInfoPoints = []
                                                }
                                              "menv"))))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 496 34 496 39
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 496 34 496 39
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 496 34 496 39
                                             , srcInfoPoints = []
                                             }
                                           "subst"))))
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 496 40 496 42
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 496 40 496 42
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 496 40 496 42
                                          , srcInfoPoints = []
                                          }
                                        "v1"))))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 496 43 496 45
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 496 43 496 45
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 496 43 496 45
                                       , srcInfoPoints = []
                                       }
                                     "e2"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 497 5 497 15
                          , srcInfoPoints = []
                          }
                        (Con
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 497 5 497 9
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 497 5 497 9
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 497 5 497 9
                                   , srcInfoPoints = []
                                   }
                                 "Just")))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 497 10 497 15
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 497 10 497 15
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 497 10 497 15
                                   , srcInfoPoints = []
                                   }
                                 "subst"))))
                 ])
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 1 500 27
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 1 499 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 7 499 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 7 499 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 12 499 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 12 499 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 18 499 20
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 18 499 20
                       , srcInfoPoints = []
                       }
                     "e1")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 21 499 32
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 499 21 499 22
                        , SrcSpan "tests/examples/RealGHC.lhs" 499 31 499 32
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 22 499 31
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 22 499 26
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 22 499 26
                             , srcInfoPoints = []
                             }
                           "Note"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 27 499 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 27 499 28
                              , srcInfoPoints = []
                              }
                            "n")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 29 499 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 499 29 499 31
                              , srcInfoPoints = []
                              }
                            "e2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 3 500 27
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 500 3 500 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 5 500 27
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 5 500 24
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 5 500 21
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 5 500 15
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 5 500 10
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 500 5 500 10
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 500 5 500 10
                                        , srcInfoPoints = []
                                        }
                                      "match")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 11 500 15
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 500 11 500 15
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 500 11 500 15
                                        , srcInfoPoints = []
                                        }
                                      "menv"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 16 500 21
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 16 500 21
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 500 16 500 21
                                     , srcInfoPoints = []
                                     }
                                   "subst"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 22 500 24
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 22 500 24
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 22 500 24
                                  , srcInfoPoints = []
                                  }
                                "e1"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 25 500 27
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 25 500 27
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 500 25 500 27
                               , srcInfoPoints = []
                               }
                             "e2")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 1 518 72
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 516 3 516 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 1 513 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 7 513 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 7 513 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 12 513 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 12 513 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 18 513 20
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 18 513 20
                       , srcInfoPoints = []
                       }
                     "e1")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 21 513 29
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 513 21 513 22
                        , SrcSpan "tests/examples/RealGHC.lhs" 513 28 513 29
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 22 513 28
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 22 513 25
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 22 513 25
                             , srcInfoPoints = []
                             }
                           "Var"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 26 513 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 513 26 513 28
                              , srcInfoPoints = []
                              }
                            "v2")
                     ])
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 514 3 515 54
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 514 3 514 4
                       , SrcSpan "tests/examples/RealGHC.lhs" 515 3 515 4
                       ]
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 514 3 515 54
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 514 3 514 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 515 3 515 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 514 5 514 31
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 514 5 514 31
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 514 5 514 21
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 514 5 514 21
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 514 5 514 21
                                       , srcInfoPoints = []
                                       }
                                     "isCheapUnfolding")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 514 22 514 31
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 514 22 514 31
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 514 22 514 31
                                       , srcInfoPoints = []
                                       }
                                     "unfolding"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 515 5 515 54
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 515 5 515 24
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 515 5 515 21
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 515 5 515 15
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 515 5 515 10
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 515 5 515 10
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 515 5 515 10
                                            , srcInfoPoints = []
                                            }
                                          "match")))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 515 11 515 15
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 515 11 515 15
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 515 11 515 15
                                            , srcInfoPoints = []
                                            }
                                          "menv"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 515 16 515 21
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 515 16 515 21
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 515 16 515 21
                                         , srcInfoPoints = []
                                         }
                                       "subst"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 515 22 515 24
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 515 22 515 24
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 515 22 515 24
                                      , srcInfoPoints = []
                                      }
                                    "e1"))))
                        (Paren
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 515 25 515 54
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 515 25 515 26
                                 , SrcSpan "tests/examples/RealGHC.lhs" 515 53 515 54
                                 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 515 26 515 53
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 515 26 515 43
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 515 26 515 43
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 515 26 515 43
                                         , srcInfoPoints = []
                                         }
                                       "unfoldingTemplate")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 515 44 515 53
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 515 44 515 53
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 515 44 515 53
                                         , srcInfoPoints = []
                                         }
                                       "unfolding"))))))
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 517 5 518 72
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 517 5 517 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 518 5 518 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 571 1 571 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 517 5 517 28
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 517 5 517 11
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 517 5 517 11
                                , srcInfoPoints = []
                                }
                              "rn_env"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 517 15 517 28
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 517 15 517 16 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 517 17 517 28
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 517 17 517 23
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 517 17 517 23
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 517 17 517 23
                                         , srcInfoPoints = []
                                         }
                                       "me_env")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 517 24 517 28
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 517 24 517 28
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 517 24 517 28
                                         , srcInfoPoints = []
                                         }
                                       "menv")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 518 5 518 72
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 518 5 518 14
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 518 5 518 14
                                , srcInfoPoints = []
                                }
                              "unfolding"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 518 15 518 72
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 518 15 518 16 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 518 17 518 72
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 518 17 518 28
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 518 17 518 28
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 518 17 518 28
                                         , srcInfoPoints = []
                                         }
                                       "idUnfolding")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 518 29 518 72
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 518 29 518 30
                                       , SrcSpan "tests/examples/RealGHC.lhs" 518 71 518 72
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 518 30 518 71
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 518 30 518 52
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 518 30 518 45
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 518 30 518 45
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 518 30 518 45
                                                  , srcInfoPoints = []
                                                  }
                                                "lookupRnInScope")))
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 518 46 518 52
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 518 46 518 52
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 518 46 518 52
                                                  , srcInfoPoints = []
                                                  }
                                                "rn_env"))))
                                    (Paren
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 518 53 518 71
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 518 53 518 54
                                             , SrcSpan "tests/examples/RealGHC.lhs" 518 70 518 71
                                             ]
                                         }
                                       (App
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 518 54 518 70
                                            , srcInfoPoints = []
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 518 54 518 67
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 518 54 518 60
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           518
                                                           54
                                                           518
                                                           60
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              518
                                                              54
                                                              518
                                                              60
                                                        , srcInfoPoints = []
                                                        }
                                                      "rnOccR")))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 518 61 518 67
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           518
                                                           61
                                                           518
                                                           67
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              518
                                                              61
                                                              518
                                                              67
                                                        , srcInfoPoints = []
                                                        }
                                                      "rn_env"))))
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 518 68 518 70
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 518 68 518 70
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           518
                                                           68
                                                           518
                                                           70
                                                     , srcInfoPoints = []
                                                     }
                                                   "v2")))))))))
                        Nothing
                    ]))
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 1 585 47
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 577 3 577 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 1 571 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 7 571 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 7 571 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PAsPat
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 12 571 45
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 571 17 571 18 ]
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 12 571 17
                       , srcInfoPoints = []
                       }
                     "subst")
                  (PTuple
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 18 571 45
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 571 18 571 19
                           , SrcSpan "tests/examples/RealGHC.lhs" 571 27 571 28
                           , SrcSpan "tests/examples/RealGHC.lhs" 571 37 571 38
                           , SrcSpan "tests/examples/RealGHC.lhs" 571 44 571 45
                           ]
                       }
                     Boxed
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 19 571 27
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 19 571 27
                              , srcInfoPoints = []
                              }
                            "tv_subst")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 29 571 37
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 29 571 37
                              , srcInfoPoints = []
                              }
                            "id_subst")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 39 571 44
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 39 571 44
                              , srcInfoPoints = []
                              }
                            "binds")
                     ])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 46 571 48
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 46 571 48
                       , srcInfoPoints = []
                       }
                     "e1")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 49 571 62
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 571 49 571 50
                        , SrcSpan "tests/examples/RealGHC.lhs" 571 61 571 62
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 50 571 61
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 50 571 53
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 50 571 53
                             , srcInfoPoints = []
                             }
                           "Let"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 54 571 58
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 54 571 58
                              , srcInfoPoints = []
                              }
                            "bind")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 59 571 61
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 571 59 571 61
                              , srcInfoPoints = []
                              }
                            "e2")
                     ])
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 572 3 576 13
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 572 3 572 4
                       , SrcSpan "tests/examples/RealGHC.lhs" 572 28 572 29
                       , SrcSpan "tests/examples/RealGHC.lhs" 574 3 574 4
                       ]
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 572 3 576 13
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 572 3 572 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 572 28 572 29
                           , SrcSpan "tests/examples/RealGHC.lhs" 574 3 574 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 572 5 572 28
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 572 5 572 28
                              , srcInfoPoints = []
                              }
                            (App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 572 5 572 22
                                 , srcInfoPoints = []
                                 }
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 572 5 572 8
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 572 5 572 8
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 572 5 572 8
                                          , srcInfoPoints = []
                                          }
                                        "all")))
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 572 9 572 22
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 572 9 572 22
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 572 9 572 22
                                          , srcInfoPoints = []
                                          }
                                        "freshly_bound"))))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 572 23 572 28
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 572 23 572 28
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 572 23 572 28
                                       , srcInfoPoints = []
                                       }
                                     "bndrs"))))
                     , Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 573 5 573 37
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 573 5 573 37
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 573 5 573 8
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 573 5 573 8
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 573 5 573 8
                                       , srcInfoPoints = []
                                       }
                                     "not")))
                            (Paren
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 573 9 573 37
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 573 9 573 10
                                     , SrcSpan "tests/examples/RealGHC.lhs" 573 36 573 37
                                     ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 573 10 573 36
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 573 10 573 27
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 573 10 573 13
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 573 10 573 13
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 573 10 573 13
                                                , srcInfoPoints = []
                                                }
                                              "any")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 573 14 573 27
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 573 14 573 27
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 573 14 573 27
                                                , srcInfoPoints = []
                                                }
                                              "locally_bound"))))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 573 28 573 36
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 573 28 573 36
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 573 28 573 36
                                             , srcInfoPoints = []
                                             }
                                           "bind_fvs"))))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 574 5 576 13
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 574 5 576 9
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 574 5 575 49
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 574 5 574 38
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 574 5 574 10
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 574 5 574 10
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 574 5 574 10
                                            , srcInfoPoints = []
                                            }
                                          "match")))
                                 (Paren
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 574 11 574 38
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 574 11 574 12
                                          , SrcSpan "tests/examples/RealGHC.lhs" 574 37 574 38
                                          ]
                                      }
                                    (RecUpdate
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 574 12 574 37
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 574 17 574 18
                                             , SrcSpan "tests/examples/RealGHC.lhs" 574 36 574 37
                                             ]
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 574 12 574 16
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 574 12 574 16
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 574 12 574 16
                                                  , srcInfoPoints = []
                                                  }
                                                "menv")))
                                       [ FieldUpdate
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 574 19 574 35
                                             , srcInfoPoints =
                                                 [ SrcSpan
                                                     "tests/examples/RealGHC.lhs" 574 26 574 27
                                                 ]
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 574 19 574 25
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 574 19 574 25
                                                   , srcInfoPoints = []
                                                   }
                                                 "me_env"))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 574 28 574 35
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 574 28 574 35
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            574
                                                            28
                                                            574
                                                            35
                                                      , srcInfoPoints = []
                                                      }
                                                    "rn_env'")))
                                       ])))
                              (Tuple
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 575 7 575 49
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 575 7 575 8
                                       , SrcSpan "tests/examples/RealGHC.lhs" 575 16 575 17
                                       , SrcSpan "tests/examples/RealGHC.lhs" 575 26 575 27
                                       , SrcSpan "tests/examples/RealGHC.lhs" 575 48 575 49
                                       ]
                                   }
                                 Boxed
                                 [ Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 575 8 575 16
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 575 8 575 16
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 575 8 575 16
                                             , srcInfoPoints = []
                                             }
                                           "tv_subst"))
                                 , Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 575 18 575 26
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 575 18 575 26
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 575 18 575 26
                                             , srcInfoPoints = []
                                             }
                                           "id_subst"))
                                 , InfixApp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 575 28 575 48
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 575 28 575 33
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 575 28 575 33
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 575 28 575 33
                                                , srcInfoPoints = []
                                                }
                                              "binds")))
                                     (QVarOp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 575 34 575 42
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 575 34 575 35
                                              , SrcSpan "tests/examples/RealGHC.lhs" 575 35 575 41
                                              , SrcSpan "tests/examples/RealGHC.lhs" 575 41 575 42
                                              ]
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 575 34 575 42
                                             , srcInfoPoints =
                                                 [ SrcSpan
                                                     "tests/examples/RealGHC.lhs" 575 34 575 35
                                                 , SrcSpan
                                                     "tests/examples/RealGHC.lhs" 575 35 575 41
                                                 , SrcSpan
                                                     "tests/examples/RealGHC.lhs" 575 41 575 42
                                                 ]
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 575 35 575 41
                                                , srcInfoPoints = []
                                                }
                                              "snocOL")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 575 43 575 48
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 575 43 575 48
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 575 43 575 48
                                                , srcInfoPoints = []
                                                }
                                              "bind'")))
                                 ]))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 576 7 576 9
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 576 7 576 9
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 576 7 576 9
                                      , srcInfoPoints = []
                                      }
                                    "e1"))))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 576 10 576 13
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 576 10 576 13
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 576 10 576 13
                                   , srcInfoPoints = []
                                   }
                                 "e2'"))))
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 578 5 585 47
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 578 5 578 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 579 5 579 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 580 5 580 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 581 5 581 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 582 5 582 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 583 5 583 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 584 5 584 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 585 5 585 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 597 1 597 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 578 5 578 27
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 578 5 578 11
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 578 5 578 11
                                , srcInfoPoints = []
                                }
                              "rn_env"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 578 14 578 27
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 578 14 578 15 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 578 16 578 27
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 578 16 578 22
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 578 16 578 22
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 578 16 578 22
                                         , srcInfoPoints = []
                                         }
                                       "me_env")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 578 23 578 27
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 578 23 578 27
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 578 23 578 27
                                         , srcInfoPoints = []
                                         }
                                       "menv")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 579 5 579 31
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 579 5 579 10
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 579 5 579 10
                                , srcInfoPoints = []
                                }
                              "bndrs"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 579 14 579 31
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 579 14 579 15 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 579 16 579 31
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 579 16 579 25
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 579 16 579 25
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 579 16 579 25
                                         , srcInfoPoints = []
                                         }
                                       "bindersOf")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 579 27 579 31
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 579 27 579 31
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 579 27 579 31
                                         , srcInfoPoints = []
                                         }
                                       "bind")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 580 5 580 47
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 580 5 580 13
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 580 5 580 13
                                , srcInfoPoints = []
                                }
                              "bind_fvs"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 580 14 580 47
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 580 14 580 15 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 580 16 580 47
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 580 16 580 27
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 580 16 580 27
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 580 16 580 27
                                         , srcInfoPoints = []
                                         }
                                       "varSetElems")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 580 28 580 47
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 580 28 580 29
                                       , SrcSpan "tests/examples/RealGHC.lhs" 580 46 580 47
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 580 29 580 46
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 580 29 580 41
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 580 29 580 41
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 580 29 580 41
                                               , srcInfoPoints = []
                                               }
                                             "bindFreeVars")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 580 42 580 46
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 580 42 580 46
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 580 42 580 46
                                               , srcInfoPoints = []
                                               }
                                             "bind")))))))
                        Nothing
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 581 5 581 42
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 581 5 581 42
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 581 5 581 18
                                 , srcInfoPoints = []
                                 }
                               "locally_bound")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 581 19 581 20
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 581 19 581 20
                                     , srcInfoPoints = []
                                     }
                                   "x")
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 581 23 581 42
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 581 23 581 24 ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 581 25 581 42
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 581 25 581 40
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 581 25 581 33
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 581 25 581 33
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 581 25 581 33
                                                , srcInfoPoints = []
                                                }
                                              "inRnEnvR")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 581 34 581 40
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 581 34 581 40
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 581 34 581 40
                                                , srcInfoPoints = []
                                                }
                                              "rn_env"))))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 581 41 581 42
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 581 41 581 42
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 581 41 581 42
                                             , srcInfoPoints = []
                                             }
                                           "x")))))
                            Nothing
                        ]
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 582 5 582 49
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 582 5 582 49
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 582 5 582 18
                                 , srcInfoPoints = []
                                 }
                               "freshly_bound")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 582 19 582 20
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 582 19 582 20
                                     , srcInfoPoints = []
                                     }
                                   "x")
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 582 21 582 49
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 582 21 582 22 ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 582 23 582 49
                                    , srcInfoPoints = []
                                    }
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 582 23 582 26
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 582 23 582 26
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 582 23 582 26
                                             , srcInfoPoints = []
                                             }
                                           "not")))
                                  (Paren
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 582 27 582 49
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/RealGHC.lhs" 582 27 582 28
                                           , SrcSpan "tests/examples/RealGHC.lhs" 582 48 582 49
                                           ]
                                       }
                                     (InfixApp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 582 28 582 48
                                          , srcInfoPoints = []
                                          }
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 582 28 582 29
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 582 28 582 29
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 582 28 582 29
                                                   , srcInfoPoints = []
                                                   }
                                                 "x")))
                                        (QVarOp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 582 30 582 41
                                             , srcInfoPoints =
                                                 [ SrcSpan
                                                     "tests/examples/RealGHC.lhs" 582 30 582 31
                                                 , SrcSpan
                                                     "tests/examples/RealGHC.lhs" 582 31 582 40
                                                 , SrcSpan
                                                     "tests/examples/RealGHC.lhs" 582 40 582 41
                                                 ]
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 582 30 582 41
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/RealGHC.lhs" 582 30 582 31
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 582 31 582 40
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 582 40 582 41
                                                    ]
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 582 31 582 40
                                                   , srcInfoPoints = []
                                                   }
                                                 "rnInScope")))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 582 42 582 48
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 582 42 582 48
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 582 42 582 48
                                                   , srcInfoPoints = []
                                                   }
                                                 "rn_env")))))))
                            Nothing
                        ]
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 583 5 583 17
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 583 5 583 10
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 583 5 583 10
                                , srcInfoPoints = []
                                }
                              "bind'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 583 11 583 17
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 583 11 583 12 ]
                             }
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 583 13 583 17
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 583 13 583 17
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 583 13 583 17
                                      , srcInfoPoints = []
                                      }
                                    "bind"))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 584 5 584 15
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 584 5 584 8
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 584 5 584 8
                                , srcInfoPoints = []
                                }
                              "e2'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 584 11 584 15
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 584 11 584 12 ]
                             }
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 584 13 584 15
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 584 13 584 15
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 584 13 584 15
                                      , srcInfoPoints = []
                                      }
                                    "e2"))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 585 5 585 47
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 585 5 585 12
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 585 5 585 12
                                , srcInfoPoints = []
                                }
                              "rn_env'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 585 13 585 47
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 585 13 585 14 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 585 15 585 47
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 585 15 585 41
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 585 15 585 34
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 585 15 585 34
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 585 15 585 34
                                            , srcInfoPoints = []
                                            }
                                          "extendRnInScopeList")))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 585 35 585 41
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 585 35 585 41
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 585 35 585 41
                                            , srcInfoPoints = []
                                            }
                                          "rn_env"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 585 42 585 47
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 585 42 585 47
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 585 42 585 47
                                         , srcInfoPoints = []
                                         }
                                       "bndrs")))))
                        Nothing
                    ]))
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 1 599 15
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 1 597 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 7 597 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 7 597 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 12 597 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 12 597 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 18 597 28
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 597 18 597 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 597 27 597 28
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 19 597 27
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 19 597 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 19 597 22
                             , srcInfoPoints = []
                             }
                           "Lit"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 23 597 27
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 23 597 27
                              , srcInfoPoints = []
                              }
                            "lit1")
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 29 597 39
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 597 29 597 30
                        , SrcSpan "tests/examples/RealGHC.lhs" 597 38 597 39
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 30 597 38
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 30 597 33
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 30 597 33
                             , srcInfoPoints = []
                             }
                           "Lit"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 34 597 38
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 597 34 597 38
                              , srcInfoPoints = []
                              }
                            "lit2")
                     ])
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 3 599 15
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 598 3 598 4
                       , SrcSpan "tests/examples/RealGHC.lhs" 599 3 599 4
                       ]
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 3 599 15
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 598 3 598 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 599 3 599 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 5 598 17
                           , srcInfoPoints = []
                           }
                         (InfixApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 5 598 17
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 5 598 9
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 5 598 9
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 598 5 598 9
                                       , srcInfoPoints = []
                                       }
                                     "lit1")))
                            (QVarOp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 10 598 12
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 598 10 598 12
                                    , srcInfoPoints = []
                                    }
                                  (Symbol
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 598 10 598 12
                                       , srcInfoPoints = []
                                       }
                                     "==")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 598 13 598 17
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 598 13 598 17
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 598 13 598 17
                                       , srcInfoPoints = []
                                       }
                                     "lit2"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 599 5 599 15
                          , srcInfoPoints = []
                          }
                        (Con
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 599 5 599 9
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 599 5 599 9
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 599 5 599 9
                                   , srcInfoPoints = []
                                   }
                                 "Just")))
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 599 10 599 15
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 599 10 599 15
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 599 10 599 15
                                   , srcInfoPoints = []
                                   }
                                 "subst"))))
                 ])
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 1 603 32
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 1 601 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 7 601 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 7 601 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 12 601 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 12 601 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 18 601 29
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 601 18 601 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 601 28 601 29
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 19 601 28
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 19 601 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 19 601 22
                             , srcInfoPoints = []
                             }
                           "App"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 23 601 25
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 23 601 25
                              , srcInfoPoints = []
                              }
                            "f1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 26 601 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 26 601 28
                              , srcInfoPoints = []
                              }
                            "a1")
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 30 601 41
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 601 30 601 31
                        , SrcSpan "tests/examples/RealGHC.lhs" 601 40 601 41
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 31 601 40
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 31 601 34
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 31 601 34
                             , srcInfoPoints = []
                             }
                           "App"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 35 601 37
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 35 601 37
                              , srcInfoPoints = []
                              }
                            "f2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 38 601 40
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 601 38 601 40
                              , srcInfoPoints = []
                              }
                            "a2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 3 603 32
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 602 3 602 4 ]
                   }
                 (Do
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 5 603 32
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 602 5 602 7
                          , SrcSpan "tests/examples/RealGHC.lhs" 602 9 602 10
                          , SrcSpan "tests/examples/RealGHC.lhs" 603 5 603 6
                          , SrcSpan "tests/examples/RealGHC.lhs" 603 31 603 32
                          ]
                      }
                    [ Generator
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 11 602 43
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 602 18 602 20 ]
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 11 602 17
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 11 602 17
                                , srcInfoPoints = []
                                }
                              "subst'"))
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 21 602 43
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 21 602 40
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 602 21 602 37
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 602 21 602 31
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 602 21 602 26
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 602 21 602 26
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 602 21 602 26
                                               , srcInfoPoints = []
                                               }
                                             "match")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 602 27 602 31
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 602 27 602 31
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 602 27 602 31
                                               , srcInfoPoints = []
                                               }
                                             "menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 602 32 602 37
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 602 32 602 37
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 602 32 602 37
                                            , srcInfoPoints = []
                                            }
                                          "subst"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 602 38 602 40
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 602 38 602 40
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 602 38 602 40
                                         , srcInfoPoints = []
                                         }
                                       "f1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 602 41 602 43
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 602 41 602 43
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 602 41 602 43
                                      , srcInfoPoints = []
                                      }
                                    "f2"))))
                    , Qualifier
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 30
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 30
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 27
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 24
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 17
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 12
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 12
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RealGHC.lhs" 603 7 603 12
                                               , srcInfoPoints = []
                                               }
                                             "match")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 603 13 603 17
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 603 13 603 17
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 603 13 603 17
                                               , srcInfoPoints = []
                                               }
                                             "menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 603 18 603 24
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 603 18 603 24
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 603 18 603 24
                                            , srcInfoPoints = []
                                            }
                                          "subst'"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 603 25 603 27
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 603 25 603 27
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 603 25 603 27
                                         , srcInfoPoints = []
                                         }
                                       "a1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 603 28 603 30
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 603 28 603 30
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 603 28 603 30
                                      , srcInfoPoints = []
                                      }
                                    "a2"))))
                    ]))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 1 608 58
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 607 3 607 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 1 605 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 7 605 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 7 605 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 12 605 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 12 605 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 18 605 29
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 605 18 605 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 605 28 605 29
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 19 605 28
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 19 605 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 19 605 22
                             , srcInfoPoints = []
                             }
                           "Lam"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 23 605 25
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 23 605 25
                              , srcInfoPoints = []
                              }
                            "x1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 26 605 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 26 605 28
                              , srcInfoPoints = []
                              }
                            "e1")
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 30 605 41
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 605 30 605 31
                        , SrcSpan "tests/examples/RealGHC.lhs" 605 40 605 41
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 31 605 40
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 31 605 34
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 31 605 34
                             , srcInfoPoints = []
                             }
                           "Lam"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 35 605 37
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 35 605 37
                              , srcInfoPoints = []
                              }
                            "x2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 38 605 40
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 605 38 605 40
                              , srcInfoPoints = []
                              }
                            "e2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 3 606 28
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 606 3 606 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 5 606 28
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 5 606 25
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 5 606 22
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 5 606 16
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 5 606 10
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 606 5 606 10
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 606 5 606 10
                                        , srcInfoPoints = []
                                        }
                                      "match")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 11 606 16
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 606 11 606 16
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 606 11 606 16
                                        , srcInfoPoints = []
                                        }
                                      "menv'"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 17 606 22
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 17 606 22
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 606 17 606 22
                                     , srcInfoPoints = []
                                     }
                                   "subst"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 23 606 25
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 23 606 25
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 23 606 25
                                  , srcInfoPoints = []
                                  }
                                "e1"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 26 606 28
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 26 606 28
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 606 26 606 28
                               , srcInfoPoints = []
                               }
                             "e2")))))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 608 5 608 58
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 608 5 608 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 615 1 615 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 608 5 608 58
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 608 5 608 10
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 608 5 608 10
                                , srcInfoPoints = []
                                }
                              "menv'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 608 11 608 58
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 608 11 608 12 ]
                             }
                           (RecUpdate
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 608 13 608 58
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 608 18 608 19
                                    , SrcSpan "tests/examples/RealGHC.lhs" 608 57 608 58
                                    ]
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 608 13 608 17
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 608 13 608 17
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 608 13 608 17
                                         , srcInfoPoints = []
                                         }
                                       "menv")))
                              [ FieldUpdate
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 608 20 608 56
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 608 27 608 28 ]
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 608 20 608 26
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 608 20 608 26
                                          , srcInfoPoints = []
                                          }
                                        "me_env"))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 608 29 608 56
                                       , srcInfoPoints = []
                                       }
                                     (App
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 608 29 608 53
                                          , srcInfoPoints = []
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 608 29 608 50
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 608 29 608 36
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 608 29 608 36
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            608
                                                            29
                                                            608
                                                            36
                                                      , srcInfoPoints = []
                                                      }
                                                    "rnBndr2")))
                                           (Paren
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 608 37 608 50
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/RealGHC.lhs" 608 37 608 38
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 608 49 608 50
                                                    ]
                                                }
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 608 38 608 49
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            608
                                                            38
                                                            608
                                                            44
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               608
                                                               38
                                                               608
                                                               44
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  608
                                                                  38
                                                                  608
                                                                  44
                                                            , srcInfoPoints = []
                                                            }
                                                          "me_env")))
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            608
                                                            45
                                                            608
                                                            49
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               608
                                                               45
                                                               608
                                                               49
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  608
                                                                  45
                                                                  608
                                                                  49
                                                            , srcInfoPoints = []
                                                            }
                                                          "menv"))))))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 608 51 608 53
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 608 51 608 53
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 608 51 608 53
                                                   , srcInfoPoints = []
                                                   }
                                                 "x1"))))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 608 54 608 56
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 608 54 608 56
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 608 54 608 56
                                                , srcInfoPoints = []
                                                }
                                              "x2"))))
                              ]))
                        Nothing
                    ]))
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 1 619 38
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 617 3 617 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 1 615 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 7 615 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 7 615 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 12 615 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 12 615 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 18 615 29
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 615 18 615 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 615 28 615 29
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 19 615 28
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 19 615 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 19 615 22
                             , srcInfoPoints = []
                             }
                           "Lam"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 23 615 25
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 23 615 25
                              , srcInfoPoints = []
                              }
                            "x1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 26 615 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 26 615 28
                              , srcInfoPoints = []
                              }
                            "e1")
                     ])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 30 615 32
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 615 30 615 32
                       , srcInfoPoints = []
                       }
                     "e2")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 3 616 56
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 616 3 616 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 5 616 56
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 5 616 25
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 5 616 22
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 5 616 16
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 5 616 10
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 616 5 616 10
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 616 5 616 10
                                        , srcInfoPoints = []
                                        }
                                      "match")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 11 616 16
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 616 11 616 16
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 616 11 616 16
                                        , srcInfoPoints = []
                                        }
                                      "menv'"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 17 616 22
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 17 616 22
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 616 17 616 22
                                     , srcInfoPoints = []
                                     }
                                   "subst"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 23 616 25
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 23 616 25
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 23 616 25
                                  , srcInfoPoints = []
                                  }
                                "e1"))))
                    (Paren
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 26 616 56
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 616 26 616 27
                             , SrcSpan "tests/examples/RealGHC.lhs" 616 55 616 56
                             ]
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 27 616 55
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 27 616 33
                               , srcInfoPoints = []
                               }
                             (Con
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 27 616 30
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 616 27 616 30
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 616 27 616 30
                                        , srcInfoPoints = []
                                        }
                                      "App")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 31 616 33
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 616 31 616 33
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 616 31 616 33
                                        , srcInfoPoints = []
                                        }
                                      "e2"))))
                          (Paren
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 34 616 55
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RealGHC.lhs" 616 34 616 35
                                   , SrcSpan "tests/examples/RealGHC.lhs" 616 54 616 55
                                   ]
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 616 35 616 54
                                  , srcInfoPoints = []
                                  }
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 616 35 616 48
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 616 35 616 48
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 616 35 616 48
                                           , srcInfoPoints = []
                                           }
                                         "varToCoreExpr")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 616 49 616 54
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 616 49 616 54
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 616 49 616 54
                                           , srcInfoPoints = []
                                           }
                                         "new_x")))))))))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 618 5 619 38
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 618 5 618 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 619 5 619 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 623 1 623 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 618 5 618 48
                          , srcInfoPoints = []
                          }
                        (PTuple
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 618 5 618 21
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 618 5 618 6
                                 , SrcSpan "tests/examples/RealGHC.lhs" 618 13 618 14
                                 , SrcSpan "tests/examples/RealGHC.lhs" 618 20 618 21
                                 ]
                             }
                           Boxed
                           [ PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 618 6 618 13
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 618 6 618 13
                                    , srcInfoPoints = []
                                    }
                                  "rn_env'")
                           , PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 618 15 618 20
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 618 15 618 20
                                    , srcInfoPoints = []
                                    }
                                  "new_x")
                           ])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 618 22 618 48
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 618 22 618 23 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 618 24 618 48
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 618 24 618 45
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 618 24 618 31
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 618 24 618 31
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 618 24 618 31
                                            , srcInfoPoints = []
                                            }
                                          "rnBndrL")))
                                 (Paren
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 618 32 618 45
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 618 32 618 33
                                          , SrcSpan "tests/examples/RealGHC.lhs" 618 44 618 45
                                          ]
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 618 33 618 44
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 618 33 618 39
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 618 33 618 39
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 618 33 618 39
                                                  , srcInfoPoints = []
                                                  }
                                                "me_env")))
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 618 40 618 44
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 618 40 618 44
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 618 40 618 44
                                                  , srcInfoPoints = []
                                                  }
                                                "menv"))))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 618 46 618 48
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 618 46 618 48
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 618 46 618 48
                                         , srcInfoPoints = []
                                         }
                                       "x1")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 619 5 619 38
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 619 5 619 10
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 619 5 619 10
                                , srcInfoPoints = []
                                }
                              "menv'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 619 11 619 38
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 619 11 619 12 ]
                             }
                           (RecUpdate
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 619 13 619 38
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 619 18 619 19
                                    , SrcSpan "tests/examples/RealGHC.lhs" 619 37 619 38
                                    ]
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 619 13 619 17
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 619 13 619 17
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 619 13 619 17
                                         , srcInfoPoints = []
                                         }
                                       "menv")))
                              [ FieldUpdate
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 619 20 619 36
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 619 27 619 28 ]
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 619 20 619 26
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 619 20 619 26
                                          , srcInfoPoints = []
                                          }
                                        "me_env"))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 619 29 619 36
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 619 29 619 36
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 619 29 619 36
                                             , srcInfoPoints = []
                                             }
                                           "rn_env'")))
                              ]))
                        Nothing
                    ]))
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 1 627 38
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 625 3 625 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 1 623 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 7 623 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 7 623 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 12 623 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 12 623 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 18 623 20
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 18 623 20
                       , srcInfoPoints = []
                       }
                     "e1")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 21 623 32
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 623 21 623 22
                        , SrcSpan "tests/examples/RealGHC.lhs" 623 31 623 32
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 22 623 31
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 22 623 25
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 22 623 25
                             , srcInfoPoints = []
                             }
                           "Lam"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 26 623 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 26 623 28
                              , srcInfoPoints = []
                              }
                            "x2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 29 623 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 623 29 623 31
                              , srcInfoPoints = []
                              }
                            "e2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 3 624 56
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 624 3 624 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 5 624 56
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 5 624 53
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 5 624 22
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 5 624 16
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 5 624 10
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 624 5 624 10
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 624 5 624 10
                                        , srcInfoPoints = []
                                        }
                                      "match")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 11 624 16
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 624 11 624 16
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 624 11 624 16
                                        , srcInfoPoints = []
                                        }
                                      "menv'"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 17 624 22
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 17 624 22
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 624 17 624 22
                                     , srcInfoPoints = []
                                     }
                                   "subst"))))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 23 624 53
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 624 23 624 24
                                , SrcSpan "tests/examples/RealGHC.lhs" 624 52 624 53
                                ]
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 24 624 52
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 24 624 30
                                  , srcInfoPoints = []
                                  }
                                (Con
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 624 24 624 27
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 624 24 624 27
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 624 24 624 27
                                           , srcInfoPoints = []
                                           }
                                         "App")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 624 28 624 30
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 624 28 624 30
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 624 28 624 30
                                           , srcInfoPoints = []
                                           }
                                         "e1"))))
                             (Paren
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 31 624 52
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 624 31 624 32
                                      , SrcSpan "tests/examples/RealGHC.lhs" 624 51 624 52
                                      ]
                                  }
                                (App
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 624 32 624 51
                                     , srcInfoPoints = []
                                     }
                                   (Var
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 624 32 624 45
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 624 32 624 45
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 624 32 624 45
                                              , srcInfoPoints = []
                                              }
                                            "varToCoreExpr")))
                                   (Var
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 624 46 624 51
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 624 46 624 51
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 624 46 624 51
                                              , srcInfoPoints = []
                                              }
                                            "new_x"))))))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 54 624 56
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 54 624 56
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 624 54 624 56
                               , srcInfoPoints = []
                               }
                             "e2")))))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 626 5 627 38
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 626 5 626 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 627 5 627 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 629 1 629 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 626 5 626 48
                          , srcInfoPoints = []
                          }
                        (PTuple
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 626 5 626 21
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 626 5 626 6
                                 , SrcSpan "tests/examples/RealGHC.lhs" 626 13 626 14
                                 , SrcSpan "tests/examples/RealGHC.lhs" 626 20 626 21
                                 ]
                             }
                           Boxed
                           [ PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 626 6 626 13
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 626 6 626 13
                                    , srcInfoPoints = []
                                    }
                                  "rn_env'")
                           , PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 626 15 626 20
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 626 15 626 20
                                    , srcInfoPoints = []
                                    }
                                  "new_x")
                           ])
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 626 22 626 48
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 626 22 626 23 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 626 24 626 48
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 626 24 626 45
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 626 24 626 31
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 626 24 626 31
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 626 24 626 31
                                            , srcInfoPoints = []
                                            }
                                          "rnBndrR")))
                                 (Paren
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 626 32 626 45
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 626 32 626 33
                                          , SrcSpan "tests/examples/RealGHC.lhs" 626 44 626 45
                                          ]
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 626 33 626 44
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 626 33 626 39
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 626 33 626 39
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 626 33 626 39
                                                  , srcInfoPoints = []
                                                  }
                                                "me_env")))
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 626 40 626 44
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 626 40 626 44
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 626 40 626 44
                                                  , srcInfoPoints = []
                                                  }
                                                "menv"))))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 626 46 626 48
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 626 46 626 48
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 626 46 626 48
                                         , srcInfoPoints = []
                                         }
                                       "x2")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 627 5 627 38
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 627 5 627 10
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 627 5 627 10
                                , srcInfoPoints = []
                                }
                              "menv'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 627 11 627 38
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 627 11 627 12 ]
                             }
                           (RecUpdate
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 627 13 627 38
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 627 18 627 19
                                    , SrcSpan "tests/examples/RealGHC.lhs" 627 37 627 38
                                    ]
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 627 13 627 17
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 627 13 627 17
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 627 13 627 17
                                         , srcInfoPoints = []
                                         }
                                       "menv")))
                              [ FieldUpdate
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 627 20 627 36
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 627 27 627 28 ]
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 627 20 627 26
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 627 20 627 26
                                          , srcInfoPoints = []
                                          }
                                        "me_env"))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 627 29 627 36
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 627 29 627 36
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 627 29 627 36
                                             , srcInfoPoints = []
                                             }
                                           "rn_env'")))
                              ]))
                        Nothing
                    ]))
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 1 634 6
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 1 629 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 7 629 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 7 629 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 12 629 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 12 629 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 18 629 40
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 629 18 629 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 629 39 629 40
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 19 629 39
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 19 629 23
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 19 629 23
                             , srcInfoPoints = []
                             }
                           "Case"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 24 629 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 24 629 26
                              , srcInfoPoints = []
                              }
                            "e1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 27 629 29
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 27 629 29
                              , srcInfoPoints = []
                              }
                            "x1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 30 629 33
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 30 629 33
                              , srcInfoPoints = []
                              }
                            "ty1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 34 629 39
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 34 629 39
                              , srcInfoPoints = []
                              }
                            "alts1")
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 41 629 63
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 629 41 629 42
                        , SrcSpan "tests/examples/RealGHC.lhs" 629 62 629 63
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 42 629 62
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 42 629 46
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 42 629 46
                             , srcInfoPoints = []
                             }
                           "Case"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 47 629 49
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 47 629 49
                              , srcInfoPoints = []
                              }
                            "e2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 50 629 52
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 50 629 52
                              , srcInfoPoints = []
                              }
                            "x2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 53 629 56
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 53 629 56
                              , srcInfoPoints = []
                              }
                            "ty2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 57 629 62
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 629 57 629 62
                              , srcInfoPoints = []
                              }
                            "alts2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 3 634 6
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 630 3 630 4 ]
                   }
                 (Do
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 5 634 6
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 630 5 630 7
                          , SrcSpan "tests/examples/RealGHC.lhs" 630 9 630 10
                          , SrcSpan "tests/examples/RealGHC.lhs" 631 5 631 6
                          , SrcSpan "tests/examples/RealGHC.lhs" 632 5 632 6
                          , SrcSpan "tests/examples/RealGHC.lhs" 633 5 633 6
                          , SrcSpan "tests/examples/RealGHC.lhs" 634 5 634 6
                          ]
                      }
                    [ Generator
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 11 630 48
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 630 18 630 20 ]
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 11 630 17
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 11 630 17
                                , srcInfoPoints = []
                                }
                              "subst1"))
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 21 630 48
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 21 630 44
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 630 21 630 40
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 630 21 630 34
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 630 21 630 29
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 630 21 630 29
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 630 21 630 29
                                               , srcInfoPoints = []
                                               }
                                             "match_ty")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 630 30 630 34
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 630 30 630 34
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 630 30 630 34
                                               , srcInfoPoints = []
                                               }
                                             "menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 630 35 630 40
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 630 35 630 40
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 630 35 630 40
                                            , srcInfoPoints = []
                                            }
                                          "subst"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 630 41 630 44
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 630 41 630 44
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 630 41 630 44
                                         , srcInfoPoints = []
                                         }
                                       "ty1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 630 45 630 48
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 630 45 630 48
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 630 45 630 48
                                      , srcInfoPoints = []
                                      }
                                    "ty2"))))
                    , Generator
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 631 7 631 40
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 631 14 631 16 ]
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 631 7 631 13
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 631 7 631 13
                                , srcInfoPoints = []
                                }
                              "subst2"))
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 631 17 631 40
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 631 17 631 37
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 631 17 631 34
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 631 17 631 27
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 631 17 631 22
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 631 17 631 22
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 631 17 631 22
                                               , srcInfoPoints = []
                                               }
                                             "match")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 631 23 631 27
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 631 23 631 27
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 631 23 631 27
                                               , srcInfoPoints = []
                                               }
                                             "menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 631 28 631 34
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 631 28 631 34
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 631 28 631 34
                                            , srcInfoPoints = []
                                            }
                                          "subst1"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 631 35 631 37
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 631 35 631 37
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 631 35 631 37
                                         , srcInfoPoints = []
                                         }
                                       "e1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 631 38 631 40
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 631 38 631 40
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 631 38 631 40
                                      , srcInfoPoints = []
                                      }
                                    "e2"))))
                    , LetStmt
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 632 7 632 64
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 632 7 632 10 ]
                          }
                        (BDecls
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 632 11 632 64
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 632 11 632 11
                                 , SrcSpan "tests/examples/RealGHC.lhs" 633 5 633 0
                                 ]
                             }
                           [ PatBind
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 632 11 632 64
                                 , srcInfoPoints = []
                                 }
                               (PVar
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 632 11 632 16
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 632 11 632 16
                                       , srcInfoPoints = []
                                       }
                                     "menv'"))
                               (UnGuardedRhs
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 632 17 632 64
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 632 17 632 18 ]
                                    }
                                  (RecUpdate
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 632 19 632 64
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/RealGHC.lhs" 632 24 632 25
                                           , SrcSpan "tests/examples/RealGHC.lhs" 632 63 632 64
                                           ]
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 632 19 632 23
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 632 19 632 23
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 632 19 632 23
                                                , srcInfoPoints = []
                                                }
                                              "menv")))
                                     [ FieldUpdate
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 632 26 632 62
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 632 33 632 34
                                               ]
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 632 26 632 32
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 632 26 632 32
                                                 , srcInfoPoints = []
                                                 }
                                               "me_env"))
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 632 35 632 62
                                              , srcInfoPoints = []
                                              }
                                            (App
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 632 35 632 59
                                                 , srcInfoPoints = []
                                                 }
                                               (App
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 632 35 632 56
                                                    , srcInfoPoints = []
                                                    }
                                                  (Var
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             632
                                                             35
                                                             632
                                                             42
                                                       , srcInfoPoints = []
                                                       }
                                                     (UnQual
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                632
                                                                35
                                                                632
                                                                42
                                                          , srcInfoPoints = []
                                                          }
                                                        (Ident
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   632
                                                                   35
                                                                   632
                                                                   42
                                                             , srcInfoPoints = []
                                                             }
                                                           "rnBndr2")))
                                                  (Paren
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             632
                                                             43
                                                             632
                                                             56
                                                       , srcInfoPoints =
                                                           [ SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               632
                                                               43
                                                               632
                                                               44
                                                           , SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               632
                                                               55
                                                               632
                                                               56
                                                           ]
                                                       }
                                                     (App
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                632
                                                                44
                                                                632
                                                                55
                                                          , srcInfoPoints = []
                                                          }
                                                        (Var
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   632
                                                                   44
                                                                   632
                                                                   50
                                                             , srcInfoPoints = []
                                                             }
                                                           (UnQual
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      632
                                                                      44
                                                                      632
                                                                      50
                                                                , srcInfoPoints = []
                                                                }
                                                              (Ident
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         632
                                                                         44
                                                                         632
                                                                         50
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 "me_env")))
                                                        (Var
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   632
                                                                   51
                                                                   632
                                                                   55
                                                             , srcInfoPoints = []
                                                             }
                                                           (UnQual
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      632
                                                                      51
                                                                      632
                                                                      55
                                                                , srcInfoPoints = []
                                                                }
                                                              (Ident
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         632
                                                                         51
                                                                         632
                                                                         55
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 "menv"))))))
                                               (Var
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 632 57 632 59
                                                    , srcInfoPoints = []
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             632
                                                             57
                                                             632
                                                             59
                                                       , srcInfoPoints = []
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                632
                                                                57
                                                                632
                                                                59
                                                          , srcInfoPoints = []
                                                          }
                                                        "x1"))))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 632 60 632 62
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 632 60 632 62
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             632
                                                             60
                                                             632
                                                             62
                                                       , srcInfoPoints = []
                                                       }
                                                     "x2"))))
                                     ]))
                               Nothing
                           ])
                    , Qualifier
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 42
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 42
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 36
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 30
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 23
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 17
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 17
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RealGHC.lhs" 633 7 633 17
                                               , srcInfoPoints = []
                                               }
                                             "match_alts")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 633 18 633 23
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 633 18 633 23
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 633 18 633 23
                                               , srcInfoPoints = []
                                               }
                                             "menv'"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 633 24 633 30
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 633 24 633 30
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 633 24 633 30
                                            , srcInfoPoints = []
                                            }
                                          "subst2"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 633 31 633 36
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 633 31 633 36
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 633 31 633 36
                                         , srcInfoPoints = []
                                         }
                                       "alts1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 633 37 633 42
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 633 37 633 42
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 633 37 633 42
                                      , srcInfoPoints = []
                                      }
                                    "alts2"))))
                    ]))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 1 637 32
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 1 636 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 7 636 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 7 636 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 12 636 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 12 636 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 18 636 28
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 636 18 636 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 636 27 636 28
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 19 636 27
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 19 636 23
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 19 636 23
                             , srcInfoPoints = []
                             }
                           "Type"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 24 636 27
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 24 636 27
                              , srcInfoPoints = []
                              }
                            "ty1")
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 29 636 39
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 636 29 636 30
                        , SrcSpan "tests/examples/RealGHC.lhs" 636 38 636 39
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 30 636 38
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 30 636 34
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 30 636 34
                             , srcInfoPoints = []
                             }
                           "Type"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 35 636 38
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 636 35 636 38
                              , srcInfoPoints = []
                              }
                            "ty2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 3 637 32
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 637 3 637 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 5 637 32
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 5 637 28
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 5 637 24
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 5 637 18
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 5 637 13
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 637 5 637 13
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 637 5 637 13
                                        , srcInfoPoints = []
                                        }
                                      "match_ty")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 14 637 18
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 637 14 637 18
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 637 14 637 18
                                        , srcInfoPoints = []
                                        }
                                      "menv"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 19 637 24
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 19 637 24
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 637 19 637 24
                                     , srcInfoPoints = []
                                     }
                                   "subst"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 25 637 28
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 25 637 28
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 25 637 28
                                  , srcInfoPoints = []
                                  }
                                "ty1"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 29 637 32
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 29 637 32
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 637 29 637 32
                               , srcInfoPoints = []
                               }
                             "ty2")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 1 641 32
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 1 639 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 7 639 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 7 639 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 12 639 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 12 639 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 18 639 31
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 639 18 639 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 639 30 639 31
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 19 639 30
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 19 639 23
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 19 639 23
                             , srcInfoPoints = []
                             }
                           "Cast"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 24 639 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 24 639 26
                              , srcInfoPoints = []
                              }
                            "e1")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 27 639 30
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 27 639 30
                              , srcInfoPoints = []
                              }
                            "co1")
                     ])
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 32 639 45
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 639 32 639 33
                        , SrcSpan "tests/examples/RealGHC.lhs" 639 44 639 45
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 33 639 44
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 33 639 37
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 33 639 37
                             , srcInfoPoints = []
                             }
                           "Cast"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 38 639 40
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 38 639 40
                              , srcInfoPoints = []
                              }
                            "e2")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 41 639 44
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 639 41 639 44
                              , srcInfoPoints = []
                              }
                            "co2")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 3 641 32
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 640 3 640 4 ]
                   }
                 (Do
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 5 641 32
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 640 5 640 7
                          , SrcSpan "tests/examples/RealGHC.lhs" 640 9 640 10
                          , SrcSpan "tests/examples/RealGHC.lhs" 641 5 641 6
                          , SrcSpan "tests/examples/RealGHC.lhs" 641 31 641 32
                          ]
                      }
                    [ Generator
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 11 640 48
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 640 18 640 20 ]
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 11 640 17
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 11 640 17
                                , srcInfoPoints = []
                                }
                              "subst1"))
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 21 640 48
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 21 640 44
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 640 21 640 40
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 640 21 640 34
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 640 21 640 29
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 640 21 640 29
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 640 21 640 29
                                               , srcInfoPoints = []
                                               }
                                             "match_ty")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 640 30 640 34
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 640 30 640 34
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 640 30 640 34
                                               , srcInfoPoints = []
                                               }
                                             "menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 640 35 640 40
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 640 35 640 40
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 640 35 640 40
                                            , srcInfoPoints = []
                                            }
                                          "subst"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 640 41 640 44
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 640 41 640 44
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 640 41 640 44
                                         , srcInfoPoints = []
                                         }
                                       "co1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 640 45 640 48
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 640 45 640 48
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 640 45 640 48
                                      , srcInfoPoints = []
                                      }
                                    "co2"))))
                    , Qualifier
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 30
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 30
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 27
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 24
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 17
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 12
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 12
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RealGHC.lhs" 641 7 641 12
                                               , srcInfoPoints = []
                                               }
                                             "match")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 641 13 641 17
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 641 13 641 17
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 641 13 641 17
                                               , srcInfoPoints = []
                                               }
                                             "menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 641 18 641 24
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 641 18 641 24
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 641 18 641 24
                                            , srcInfoPoints = []
                                            }
                                          "subst1"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 641 25 641 27
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 641 25 641 27
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 641 25 641 27
                                         , srcInfoPoints = []
                                         }
                                       "e1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 641 28 641 30
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 641 28 641 30
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 641 28 641 30
                                      , srcInfoPoints = []
                                      }
                                    "e2"))))
                    ]))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 1 671 21
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 1 670 6
                   , srcInfoPoints = []
                   }
                 "match")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 7 670 11
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 7 670 11
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 12 670 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 12 670 17
                       , srcInfoPoints = []
                       }
                     "subst")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 18 670 20
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 18 670 20
                       , srcInfoPoints = []
                       }
                     "e1")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 21 670 23
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 21 670 23
                       , srcInfoPoints = []
                       }
                     "e2")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 670 24 671 21
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 670 24 670 25 ]
                   }
                 (Con
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 671 14 671 21
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 671 14 671 21
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 671 14 671 21
                            , srcInfoPoints = []
                            }
                          "Nothing"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 674 1 678 28
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 674 11 674 13 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 674 1 674 10
                , srcInfoPoints = []
                }
              "match_var"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 674 14 678 28
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 675 11 675 13 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 674 14 674 22
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 674 14 674 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 674 14 674 22
                        , srcInfoPoints = []
                        }
                      "MatchEnv")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 675 14 678 28
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 676 11 676 13 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 675 14 675 22
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 675 14 675 22
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 675 14 675 22
                           , srcInfoPoints = []
                           }
                         "SubstEnv")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 676 14 678 28
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 677 11 677 13 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 676 14 676 17
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 676 14 676 17
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 676 14 676 17
                              , srcInfoPoints = []
                              }
                            "Var")))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 677 14 678 28
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 678 11 678 13 ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 677 14 677 22
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 677 14 677 22
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 677 14 677 22
                                 , srcInfoPoints = []
                                 }
                               "CoreExpr")))
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 678 14 678 28
                           , srcInfoPoints = []
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 678 14 678 19
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 678 14 678 19
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 678 14 678 19
                                    , srcInfoPoints = []
                                    }
                                  "Maybe")))
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 678 20 678 28
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 678 20 678 28
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 678 20 678 28
                                    , srcInfoPoints = []
                                    }
                                  "SubstEnv"))))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 1 715 30
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 713 3 713 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 1 715 30
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 713 3 713 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 1 679 10
                   , srcInfoPoints = []
                   }
                 "match_var")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 11 679 15
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 11 679 15
                       , srcInfoPoints = []
                       }
                     "menv")
              , PAsPat
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 16 679 49
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 679 21 679 22 ]
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 16 679 21
                       , srcInfoPoints = []
                       }
                     "subst")
                  (PTuple
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 22 679 49
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 679 22 679 23
                           , SrcSpan "tests/examples/RealGHC.lhs" 679 31 679 32
                           , SrcSpan "tests/examples/RealGHC.lhs" 679 41 679 42
                           , SrcSpan "tests/examples/RealGHC.lhs" 679 48 679 49
                           ]
                       }
                     Boxed
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 23 679 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 23 679 31
                              , srcInfoPoints = []
                              }
                            "tv_subst")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 33 679 41
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 33 679 41
                              , srcInfoPoints = []
                              }
                            "id_subst")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 43 679 48
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 43 679 48
                              , srcInfoPoints = []
                              }
                            "binds")
                     ])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 50 679 52
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 50 679 52
                       , srcInfoPoints = []
                       }
                     "v1")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 53 679 55
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 679 53 679 55
                       , srcInfoPoints = []
                       }
                     "e2")
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 3 711 39
                   , srcInfoPoints = []
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 3 706 20
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 680 3 680 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 681 3 681 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 5 680 35
                           , srcInfoPoints = []
                           }
                         (InfixApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 5 680 35
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 5 680 8
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 5 680 8
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 680 5 680 8
                                       , srcInfoPoints = []
                                       }
                                     "v1'")))
                            (QVarOp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 9 680 21
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 680 9 680 10
                                     , SrcSpan "tests/examples/RealGHC.lhs" 680 10 680 20
                                     , SrcSpan "tests/examples/RealGHC.lhs" 680 20 680 21
                                     ]
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 680 9 680 21
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 680 9 680 10
                                        , SrcSpan "tests/examples/RealGHC.lhs" 680 10 680 20
                                        , SrcSpan "tests/examples/RealGHC.lhs" 680 20 680 21
                                        ]
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 680 10 680 20
                                       , srcInfoPoints = []
                                       }
                                     "elemVarSet")))
                            (App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 680 22 680 35
                                 , srcInfoPoints = []
                                 }
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 680 22 680 30
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 680 22 680 30
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 680 22 680 30
                                          , srcInfoPoints = []
                                          }
                                        "me_tmpls")))
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 680 31 680 35
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 680 31 680 35
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 680 31 680 35
                                          , srcInfoPoints = []
                                          }
                                        "menv")))))
                     ]
                     (Case
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 681 5 706 20
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 681 5 681 9
                              , SrcSpan "tests/examples/RealGHC.lhs" 681 36 681 38
                              , SrcSpan "tests/examples/RealGHC.lhs" 682 5 682 5
                              , SrcSpan "tests/examples/RealGHC.lhs" 702 5 702 5
                              , SrcSpan "tests/examples/RealGHC.lhs" 708 3 708 0
                              ]
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 681 10 681 35
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 681 10 681 31
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 681 10 681 22
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 681 10 681 22
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 681 10 681 22
                                         , srcInfoPoints = []
                                         }
                                       "lookupVarEnv")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 681 23 681 31
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 681 23 681 31
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 681 23 681 31
                                         , srcInfoPoints = []
                                         }
                                       "id_subst"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 681 32 681 35
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 681 32 681 35
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 681 32 681 35
                                      , srcInfoPoints = []
                                      }
                                    "v1'"))))
                        [ Alt
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 682 5 700 72
                              , srcInfoPoints = []
                              }
                            (PApp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 682 5 682 12
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 682 5 682 12
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 682 5 682 12
                                       , srcInfoPoints = []
                                       }
                                     "Nothing"))
                               [])
                            (GuardedRhss
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 682 13 700 72
                                 , srcInfoPoints = []
                                 }
                               [ GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 682 13 683 19
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 682 13 682 14
                                         , SrcSpan "tests/examples/RealGHC.lhs" 683 9 683 11
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 682 15 682 68
                                         , srcInfoPoints = []
                                         }
                                       (App
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 682 15 682 68
                                            , srcInfoPoints = []
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 682 15 682 36
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 682 15 682 18
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           682
                                                           15
                                                           682
                                                           18
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              682
                                                              15
                                                              682
                                                              18
                                                        , srcInfoPoints = []
                                                        }
                                                      "any")))
                                             (Paren
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 682 19 682 36
                                                  , srcInfoPoints =
                                                      [ SrcSpan
                                                          "tests/examples/RealGHC.lhs" 682 19 682 20
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 682 35 682 36
                                                      ]
                                                  }
                                                (App
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           682
                                                           20
                                                           682
                                                           35
                                                     , srcInfoPoints = []
                                                     }
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              682
                                                              20
                                                              682
                                                              28
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 682
                                                                 20
                                                                 682
                                                                 28
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    682
                                                                    20
                                                                    682
                                                                    28
                                                              , srcInfoPoints = []
                                                              }
                                                            "inRnEnvR")))
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              682
                                                              29
                                                              682
                                                              35
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 682
                                                                 29
                                                                 682
                                                                 35
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    682
                                                                    29
                                                                    682
                                                                    35
                                                              , srcInfoPoints = []
                                                              }
                                                            "rn_env"))))))
                                          (Paren
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 682 37 682 68
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 682 37 682 38
                                                   , SrcSpan
                                                       "tests/examples/RealGHC.lhs" 682 67 682 68
                                                   ]
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 682 38 682 67
                                                  , srcInfoPoints = []
                                                  }
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           682
                                                           38
                                                           682
                                                           49
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              682
                                                              38
                                                              682
                                                              49
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 682
                                                                 38
                                                                 682
                                                                 49
                                                           , srcInfoPoints = []
                                                           }
                                                         "varSetElems")))
                                                (Paren
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           682
                                                           50
                                                           682
                                                           67
                                                     , srcInfoPoints =
                                                         [ SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             682
                                                             50
                                                             682
                                                             51
                                                         , SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             682
                                                             66
                                                             682
                                                             67
                                                         ]
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              682
                                                              51
                                                              682
                                                              66
                                                        , srcInfoPoints = []
                                                        }
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 682
                                                                 51
                                                                 682
                                                                 63
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    682
                                                                    51
                                                                    682
                                                                    63
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       682
                                                                       51
                                                                       682
                                                                       63
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "exprFreeVars")))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 682
                                                                 64
                                                                 682
                                                                 66
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    682
                                                                    64
                                                                    682
                                                                    66
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       682
                                                                       64
                                                                       682
                                                                       66
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "e2"))))))))
                                   ]
                                   (Con
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 683 12 683 19
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 683 12 683 19
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 683 12 683 19
                                              , srcInfoPoints = []
                                              }
                                            "Nothing")))
                               , GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 686 9 700 72
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 686 9 686 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 698 9 698 11
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 686 11 686 20
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 686 11 686 20
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 686 11 686 20
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 686 11 686 20
                                                  , srcInfoPoints = []
                                                  }
                                                "otherwise")))
                                   ]
                                   (Do
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 698 12 700 72
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RealGHC.lhs" 698 12 698 14
                                            , SrcSpan "tests/examples/RealGHC.lhs" 698 17 698 18
                                            , SrcSpan "tests/examples/RealGHC.lhs" 700 13 700 14
                                            , SrcSpan "tests/examples/RealGHC.lhs" 700 71 700 72
                                            ]
                                        }
                                      [ Generator
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 698 19 698 91
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 698 29 698 31
                                                ]
                                            }
                                          (PVar
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 698 19 698 28
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 698 19 698 28
                                                  , srcInfoPoints = []
                                                  }
                                                "tv_subst'"))
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 698 32 698 91
                                               , srcInfoPoints = []
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 698 32 698 77
                                                  , srcInfoPoints = []
                                                  }
                                                (App
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           698
                                                           32
                                                           698
                                                           64
                                                     , srcInfoPoints = []
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              698
                                                              32
                                                              698
                                                              55
                                                        , srcInfoPoints = []
                                                        }
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 698
                                                                 32
                                                                 698
                                                                 50
                                                           , srcInfoPoints = []
                                                           }
                                                         (Qual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    698
                                                                    32
                                                                    698
                                                                    50
                                                              , srcInfoPoints = []
                                                              }
                                                            (ModuleName
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       698
                                                                       32
                                                                       698
                                                                       50
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "Unify")
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       698
                                                                       32
                                                                       698
                                                                       50
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "ruleMatchTyX")))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 698
                                                                 51
                                                                 698
                                                                 55
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    698
                                                                    51
                                                                    698
                                                                    55
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       698
                                                                       51
                                                                       698
                                                                       55
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "menv"))))
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              698
                                                              56
                                                              698
                                                              64
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 698
                                                                 56
                                                                 698
                                                                 64
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    698
                                                                    56
                                                                    698
                                                                    64
                                                              , srcInfoPoints = []
                                                              }
                                                            "tv_subst"))))
                                                (Paren
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           698
                                                           65
                                                           698
                                                           77
                                                     , srcInfoPoints =
                                                         [ SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             698
                                                             65
                                                             698
                                                             66
                                                         , SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             698
                                                             76
                                                             698
                                                             77
                                                         ]
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              698
                                                              66
                                                              698
                                                              76
                                                        , srcInfoPoints = []
                                                        }
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 698
                                                                 66
                                                                 698
                                                                 72
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    698
                                                                    66
                                                                    698
                                                                    72
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       698
                                                                       66
                                                                       698
                                                                       72
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "idType")))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 698
                                                                 73
                                                                 698
                                                                 76
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    698
                                                                    73
                                                                    698
                                                                    76
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       698
                                                                       73
                                                                       698
                                                                       76
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "v1'"))))))
                                             (Paren
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 698 78 698 91
                                                  , srcInfoPoints =
                                                      [ SrcSpan
                                                          "tests/examples/RealGHC.lhs" 698 78 698 79
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 698 90 698 91
                                                      ]
                                                  }
                                                (App
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           698
                                                           79
                                                           698
                                                           90
                                                     , srcInfoPoints = []
                                                     }
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              698
                                                              79
                                                              698
                                                              87
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 698
                                                                 79
                                                                 698
                                                                 87
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    698
                                                                    79
                                                                    698
                                                                    87
                                                              , srcInfoPoints = []
                                                              }
                                                            "exprType")))
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              698
                                                              88
                                                              698
                                                              90
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 698
                                                                 88
                                                                 698
                                                                 90
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    698
                                                                    88
                                                                    698
                                                                    90
                                                              , srcInfoPoints = []
                                                              }
                                                            "e2"))))))
                                      , Qualifier
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 700 15 700 70
                                            , srcInfoPoints = []
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 700 15 700 70
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 700 15 700 21
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           700
                                                           15
                                                           700
                                                           21
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              700
                                                              15
                                                              700
                                                              21
                                                        , srcInfoPoints = []
                                                        }
                                                      "return")))
                                             (Tuple
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 700 22 700 70
                                                  , srcInfoPoints =
                                                      [ SrcSpan
                                                          "tests/examples/RealGHC.lhs" 700 22 700 23
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 700 32 700 33
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 700 62 700 63
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 700 69 700 70
                                                      ]
                                                  }
                                                Boxed
                                                [ Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            700
                                                            23
                                                            700
                                                            32
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               700
                                                               23
                                                               700
                                                               32
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  700
                                                                  23
                                                                  700
                                                                  32
                                                            , srcInfoPoints = []
                                                            }
                                                          "tv_subst'"))
                                                , App
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            700
                                                            34
                                                            700
                                                            62
                                                      , srcInfoPoints = []
                                                      }
                                                    (App
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               700
                                                               34
                                                               700
                                                               59
                                                         , srcInfoPoints = []
                                                         }
                                                       (App
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  700
                                                                  34
                                                                  700
                                                                  55
                                                            , srcInfoPoints = []
                                                            }
                                                          (Var
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     700
                                                                     34
                                                                     700
                                                                     46
                                                               , srcInfoPoints = []
                                                               }
                                                             (UnQual
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        700
                                                                        34
                                                                        700
                                                                        46
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (Ident
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           700
                                                                           34
                                                                           700
                                                                           46
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   "extendVarEnv")))
                                                          (Var
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     700
                                                                     47
                                                                     700
                                                                     55
                                                               , srcInfoPoints = []
                                                               }
                                                             (UnQual
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        700
                                                                        47
                                                                        700
                                                                        55
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (Ident
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           700
                                                                           47
                                                                           700
                                                                           55
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   "id_subst"))))
                                                       (Var
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  700
                                                                  56
                                                                  700
                                                                  59
                                                            , srcInfoPoints = []
                                                            }
                                                          (UnQual
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     700
                                                                     56
                                                                     700
                                                                     59
                                                               , srcInfoPoints = []
                                                               }
                                                             (Ident
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        700
                                                                        56
                                                                        700
                                                                        59
                                                                  , srcInfoPoints = []
                                                                  }
                                                                "v1'"))))
                                                    (Var
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               700
                                                               60
                                                               700
                                                               62
                                                         , srcInfoPoints = []
                                                         }
                                                       (UnQual
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  700
                                                                  60
                                                                  700
                                                                  62
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     700
                                                                     60
                                                                     700
                                                                     62
                                                               , srcInfoPoints = []
                                                               }
                                                             "e2")))
                                                , Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            700
                                                            64
                                                            700
                                                            69
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               700
                                                               64
                                                               700
                                                               69
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  700
                                                                  64
                                                                  700
                                                                  69
                                                            , srcInfoPoints = []
                                                            }
                                                          "binds"))
                                                ]))
                                      ])
                               ])
                            Nothing
                        , Alt
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 702 5 706 20
                              , srcInfoPoints = []
                              }
                            (PApp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 702 5 702 13
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 702 5 702 9
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 702 5 702 9
                                       , srcInfoPoints = []
                                       }
                                     "Just"))
                               [ PVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 702 10 702 13
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 702 10 702 13
                                        , srcInfoPoints = []
                                        }
                                      "e1'")
                               ])
                            (GuardedRhss
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 702 14 706 20
                                 , srcInfoPoints = []
                                 }
                               [ GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 702 14 703 23
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 702 14 702 15
                                         , SrcSpan "tests/examples/RealGHC.lhs" 703 10 703 12
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 702 16 702 52
                                         , srcInfoPoints = []
                                         }
                                       (App
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 702 16 702 52
                                            , srcInfoPoints = []
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 702 16 702 49
                                               , srcInfoPoints = []
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 702 16 702 45
                                                  , srcInfoPoints = []
                                                  }
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           702
                                                           16
                                                           702
                                                           25
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              702
                                                              16
                                                              702
                                                              25
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 702
                                                                 16
                                                                 702
                                                                 25
                                                           , srcInfoPoints = []
                                                           }
                                                         "tcEqExprX")))
                                                (Paren
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           702
                                                           26
                                                           702
                                                           45
                                                     , srcInfoPoints =
                                                         [ SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             702
                                                             26
                                                             702
                                                             27
                                                         , SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             702
                                                             44
                                                             702
                                                             45
                                                         ]
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              702
                                                              27
                                                              702
                                                              44
                                                        , srcInfoPoints = []
                                                        }
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 702
                                                                 27
                                                                 702
                                                                 37
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    702
                                                                    27
                                                                    702
                                                                    37
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       702
                                                                       27
                                                                       702
                                                                       37
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "nukeRnEnvL")))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 702
                                                                 38
                                                                 702
                                                                 44
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    702
                                                                    38
                                                                    702
                                                                    44
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       702
                                                                       38
                                                                       702
                                                                       44
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "rn_env"))))))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 702 46 702 49
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           702
                                                           46
                                                           702
                                                           49
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              702
                                                              46
                                                              702
                                                              49
                                                        , srcInfoPoints = []
                                                        }
                                                      "e1'"))))
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 702 50 702 52
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 702 50 702 52
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           702
                                                           50
                                                           702
                                                           52
                                                     , srcInfoPoints = []
                                                     }
                                                   "e2"))))
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 703 13 703 23
                                        , srcInfoPoints = []
                                        }
                                      (Con
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 703 13 703 17
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 703 13 703 17
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 703 13 703 17
                                                 , srcInfoPoints = []
                                                 }
                                               "Just")))
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 703 18 703 23
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 703 18 703 23
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 703 18 703 23
                                                 , srcInfoPoints = []
                                                 }
                                               "subst"))))
                               , GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 705 10 706 20
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 705 10 705 11
                                         , SrcSpan "tests/examples/RealGHC.lhs" 706 10 706 12
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 705 12 705 21
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 705 12 705 21
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 705 12 705 21
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 705 12 705 21
                                                  , srcInfoPoints = []
                                                  }
                                                "otherwise")))
                                   ]
                                   (Con
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 706 13 706 20
                                        , srcInfoPoints = []
                                        }
                                      (UnQual
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 706 13 706 20
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 706 13 706 20
                                              , srcInfoPoints = []
                                              }
                                            "Nothing")))
                               ])
                            Nothing
                        ])
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 708 3 711 39
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 708 3 708 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 709 3 709 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 708 5 708 14
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 708 5 708 14
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 708 5 708 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 708 5 708 14
                                    , srcInfoPoints = []
                                    }
                                  "otherwise")))
                     ]
                     (Case
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 709 5 711 39
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 709 5 709 9
                              , SrcSpan "tests/examples/RealGHC.lhs" 709 13 709 15
                              , SrcSpan "tests/examples/RealGHC.lhs" 710 8 710 8
                              , SrcSpan "tests/examples/RealGHC.lhs" 711 8 711 8
                              , SrcSpan "tests/examples/RealGHC.lhs" 713 3 713 0
                              ]
                          }
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 709 10 709 12
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 709 10 709 12
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 709 10 709 12
                                   , srcInfoPoints = []
                                   }
                                 "e2")))
                        [ Alt
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 710 8 710 54
                              , srcInfoPoints = []
                              }
                            (PApp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 710 8 710 14
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 710 8 710 11
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 710 8 710 11
                                       , srcInfoPoints = []
                                       }
                                     "Var"))
                               [ PVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 710 12 710 14
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 710 12 710 14
                                        , srcInfoPoints = []
                                        }
                                      "v2")
                               ])
                            (GuardedRhss
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 710 15 710 54
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 710 15 710 16
                                     , SrcSpan "tests/examples/RealGHC.lhs" 710 41 710 43
                                     ]
                                 }
                               [ GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 710 15 710 54
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 710 15 710 16
                                         , SrcSpan "tests/examples/RealGHC.lhs" 710 41 710 43
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 710 17 710 40
                                         , srcInfoPoints = []
                                         }
                                       (InfixApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 710 17 710 40
                                            , srcInfoPoints = []
                                            }
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 710 17 710 20
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 710 17 710 20
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           710
                                                           17
                                                           710
                                                           20
                                                     , srcInfoPoints = []
                                                     }
                                                   "v1'")))
                                          (QVarOp
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 710 21 710 23
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 710 21 710 23
                                                  , srcInfoPoints = []
                                                  }
                                                (Symbol
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           710
                                                           21
                                                           710
                                                           23
                                                     , srcInfoPoints = []
                                                     }
                                                   "==")))
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 710 24 710 40
                                               , srcInfoPoints = []
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 710 24 710 37
                                                  , srcInfoPoints = []
                                                  }
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           710
                                                           24
                                                           710
                                                           30
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              710
                                                              24
                                                              710
                                                              30
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 710
                                                                 24
                                                                 710
                                                                 30
                                                           , srcInfoPoints = []
                                                           }
                                                         "rnOccR")))
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           710
                                                           31
                                                           710
                                                           37
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              710
                                                              31
                                                              710
                                                              37
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 710
                                                                 31
                                                                 710
                                                                 37
                                                           , srcInfoPoints = []
                                                           }
                                                         "rn_env"))))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 710 38 710 40
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           710
                                                           38
                                                           710
                                                           40
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              710
                                                              38
                                                              710
                                                              40
                                                        , srcInfoPoints = []
                                                        }
                                                      "v2")))))
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 710 44 710 54
                                        , srcInfoPoints = []
                                        }
                                      (Con
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 710 44 710 48
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 710 44 710 48
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 710 44 710 48
                                                 , srcInfoPoints = []
                                                 }
                                               "Just")))
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 710 49 710 54
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 710 49 710 54
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 710 49 710 54
                                                 , srcInfoPoints = []
                                                 }
                                               "subst"))))
                               ])
                            Nothing
                        , Alt
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 711 8 711 39
                              , srcInfoPoints = []
                              }
                            (PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 711 8 711 13
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 711 8 711 13
                                    , srcInfoPoints = []
                                    }
                                  "other"))
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 711 29 711 39
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 711 29 711 31 ]
                                 }
                               (Con
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 711 32 711 39
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 711 32 711 39
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 711 32 711 39
                                          , srcInfoPoints = []
                                          }
                                        "Nothing"))))
                            Nothing
                        ])
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 714 5 715 30
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 714 5 714 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 715 5 715 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 723 1 723 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 714 5 714 25
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 714 5 714 11
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 714 5 714 11
                                , srcInfoPoints = []
                                }
                              "rn_env"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 714 12 714 25
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 714 12 714 13 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 714 14 714 25
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 714 14 714 20
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 714 14 714 20
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 714 14 714 20
                                         , srcInfoPoints = []
                                         }
                                       "me_env")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 714 21 714 25
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 714 21 714 25
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 714 21 714 25
                                         , srcInfoPoints = []
                                         }
                                       "menv")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 715 5 715 30
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 715 5 715 8
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 715 5 715 8
                                , srcInfoPoints = []
                                }
                              "v1'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 715 12 715 30
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 715 12 715 13 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 715 14 715 30
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 715 14 715 27
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 715 14 715 20
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 715 14 715 20
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 715 14 715 20
                                            , srcInfoPoints = []
                                            }
                                          "rnOccL")))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 715 21 715 27
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 715 21 715 27
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 715 21 715 27
                                            , srcInfoPoints = []
                                            }
                                          "rn_env"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 715 28 715 30
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 715 28 715 30
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 715 28 715 30
                                         , srcInfoPoints = []
                                         }
                                       "v1")))))
                        Nothing
                    ]))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 723 1 727 24
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 723 12 723 14 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 723 1 723 11
                , srcInfoPoints = []
                }
              "match_alts"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 723 15 727 24
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 724 7 724 9 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 723 15 723 23
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 723 15 723 23
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 723 15 723 23
                        , srcInfoPoints = []
                        }
                      "MatchEnv")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 724 10 727 24
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 725 7 725 9 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 724 10 724 18
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 724 10 724 18
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 724 10 724 18
                           , srcInfoPoints = []
                           }
                         "SubstEnv")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 725 10 727 24
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 726 7 726 9 ]
                     }
                   (TyList
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 725 10 725 19
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 725 10 725 11
                            , SrcSpan "tests/examples/RealGHC.lhs" 725 18 725 19
                            ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 725 11 725 18
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 725 11 725 18
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 725 11 725 18
                                 , srcInfoPoints = []
                                 }
                               "CoreAlt"))))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 726 10 727 24
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 727 7 727 9 ]
                        }
                      (TyList
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 726 10 726 19
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 726 10 726 11
                               , SrcSpan "tests/examples/RealGHC.lhs" 726 18 726 19
                               ]
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 726 11 726 18
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 726 11 726 18
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 726 11 726 18
                                    , srcInfoPoints = []
                                    }
                                  "CoreAlt"))))
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 727 10 727 24
                           , srcInfoPoints = []
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 727 10 727 15
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 727 10 727 15
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 727 10 727 15
                                    , srcInfoPoints = []
                                    }
                                  "Maybe")))
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 727 16 727 24
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 727 16 727 24
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 727 16 727 24
                                    , srcInfoPoints = []
                                    }
                                  "SubstEnv"))))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 1 739 12
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 1 729 17
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 1 728 11
                   , srcInfoPoints = []
                   }
                 "match_alts")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 12 728 16
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 12 728 16
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 17 728 22
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 17 728 22
                       , srcInfoPoints = []
                       }
                     "subst")
              , PList
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 23 728 25
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 728 23 728 24
                        , SrcSpan "tests/examples/RealGHC.lhs" 728 24 728 25
                        ]
                    }
                  []
              , PList
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 728 26 728 28
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 728 26 728 27
                        , SrcSpan "tests/examples/RealGHC.lhs" 728 27 728 28
                        ]
                    }
                  []
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 3 729 17
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 729 3 729 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 5 729 17
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 5 729 11
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 5 729 11
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 5 729 11
                               , srcInfoPoints = []
                               }
                             "return")))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 12 729 17
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 12 729 17
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 729 12 729 17
                               , srcInfoPoints = []
                               }
                             "subst")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 1 736 61
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 734 3 734 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 1 730 11
                   , srcInfoPoints = []
                   }
                 "match_alts")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 12 730 16
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 12 730 16
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 17 730 22
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 17 730 22
                       , srcInfoPoints = []
                       }
                     "subst")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 23 730 42
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 730 23 730 24
                        , SrcSpan "tests/examples/RealGHC.lhs" 730 41 730 42
                        ]
                    }
                  (PInfixApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 24 730 41
                       , srcInfoPoints = []
                       }
                     (PTuple
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 24 730 35
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 730 24 730 25
                              , SrcSpan "tests/examples/RealGHC.lhs" 730 27 730 28
                              , SrcSpan "tests/examples/RealGHC.lhs" 730 31 730 32
                              , SrcSpan "tests/examples/RealGHC.lhs" 730 34 730 35
                              ]
                          }
                        Boxed
                        [ PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 25 730 27
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 25 730 27
                                 , srcInfoPoints = []
                                 }
                               "c1")
                        , PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 28 730 31
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 28 730 31
                                 , srcInfoPoints = []
                                 }
                               "vs1")
                        , PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 32 730 34
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 32 730 34
                                 , srcInfoPoints = []
                                 }
                               "r1")
                        ])
                     (Special
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 35 730 36
                          , srcInfoPoints = []
                          }
                        (Cons
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 35 730 36
                             , srcInfoPoints = []
                             }))
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 36 730 41
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 36 730 41
                             , srcInfoPoints = []
                             }
                           "alts1")))
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 43 730 62
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 730 43 730 44
                        , SrcSpan "tests/examples/RealGHC.lhs" 730 61 730 62
                        ]
                    }
                  (PInfixApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 44 730 61
                       , srcInfoPoints = []
                       }
                     (PTuple
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 44 730 55
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 730 44 730 45
                              , SrcSpan "tests/examples/RealGHC.lhs" 730 47 730 48
                              , SrcSpan "tests/examples/RealGHC.lhs" 730 51 730 52
                              , SrcSpan "tests/examples/RealGHC.lhs" 730 54 730 55
                              ]
                          }
                        Boxed
                        [ PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 45 730 47
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 45 730 47
                                 , srcInfoPoints = []
                                 }
                               "c2")
                        , PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 48 730 51
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 48 730 51
                                 , srcInfoPoints = []
                                 }
                               "vs2")
                        , PVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 52 730 54
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 52 730 54
                                 , srcInfoPoints = []
                                 }
                               "r2")
                        ])
                     (Special
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 55 730 56
                          , srcInfoPoints = []
                          }
                        (Cons
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 55 730 56
                             , srcInfoPoints = []
                             }))
                     (PVar
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 56 730 61
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 730 56 730 61
                             , srcInfoPoints = []
                             }
                           "alts2")))
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 3 733 43
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 731 3 731 4
                       , SrcSpan "tests/examples/RealGHC.lhs" 732 3 732 4
                       ]
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 3 733 43
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 731 3 731 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 732 3 732 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 5 731 13
                           , srcInfoPoints = []
                           }
                         (InfixApp
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 5 731 13
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 5 731 7
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 5 731 7
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 731 5 731 7
                                       , srcInfoPoints = []
                                       }
                                     "c1")))
                            (QVarOp
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 8 731 10
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 731 8 731 10
                                    , srcInfoPoints = []
                                    }
                                  (Symbol
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 731 8 731 10
                                       , srcInfoPoints = []
                                       }
                                     "==")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 731 11 731 13
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 731 11 731 13
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 731 11 731 13
                                       , srcInfoPoints = []
                                       }
                                     "c2"))))
                     ]
                     (Do
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 732 5 733 43
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 732 5 732 7
                              , SrcSpan "tests/examples/RealGHC.lhs" 732 9 732 10
                              , SrcSpan "tests/examples/RealGHC.lhs" 733 5 733 6
                              , SrcSpan "tests/examples/RealGHC.lhs" 733 42 733 43
                              ]
                          }
                        [ Generator
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 732 11 732 44
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/RealGHC.lhs" 732 18 732 20 ]
                              }
                            (PVar
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 732 11 732 17
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 732 11 732 17
                                    , srcInfoPoints = []
                                    }
                                  "subst1"))
                            (App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 732 21 732 44
                                 , srcInfoPoints = []
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 732 21 732 41
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 732 21 732 38
                                       , srcInfoPoints = []
                                       }
                                     (App
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 732 21 732 32
                                          , srcInfoPoints = []
                                          }
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 732 21 732 26
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 732 21 732 26
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 732 21 732 26
                                                   , srcInfoPoints = []
                                                   }
                                                 "match")))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 732 27 732 32
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 732 27 732 32
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 732 27 732 32
                                                   , srcInfoPoints = []
                                                   }
                                                 "menv'"))))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 732 33 732 38
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 732 33 732 38
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 732 33 732 38
                                                , srcInfoPoints = []
                                                }
                                              "subst"))))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 732 39 732 41
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 732 39 732 41
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 732 39 732 41
                                             , srcInfoPoints = []
                                             }
                                           "r1"))))
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 732 42 732 44
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 732 42 732 44
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 732 42 732 44
                                          , srcInfoPoints = []
                                          }
                                        "r2"))))
                        , Qualifier
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 733 7 733 41
                              , srcInfoPoints = []
                              }
                            (App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 733 7 733 41
                                 , srcInfoPoints = []
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 733 7 733 35
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 733 7 733 29
                                       , srcInfoPoints = []
                                       }
                                     (App
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 733 7 733 22
                                          , srcInfoPoints = []
                                          }
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 733 7 733 17
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 733 7 733 17
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 733 7 733 17
                                                   , srcInfoPoints = []
                                                   }
                                                 "match_alts")))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 733 18 733 22
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 733 18 733 22
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 733 18 733 22
                                                   , srcInfoPoints = []
                                                   }
                                                 "menv"))))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 733 23 733 29
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 733 23 733 29
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 733 23 733 29
                                                , srcInfoPoints = []
                                                }
                                              "subst1"))))
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 733 30 733 35
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 733 30 733 35
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 733 30 733 35
                                             , srcInfoPoints = []
                                             }
                                           "alts1"))))
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 733 36 733 41
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 733 36 733 41
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 733 36 733 41
                                          , srcInfoPoints = []
                                          }
                                        "alts2"))))
                        ])
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 735 5 736 61
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 735 5 735 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 736 5 736 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 738 1 738 0
                          ]
                      }
                    [ TypeSig
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 735 5 735 22
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 735 11 735 13 ]
                          }
                        [ Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 735 5 735 10
                              , srcInfoPoints = []
                              }
                            "menv'"
                        ]
                        (TyCon
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 735 14 735 22
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 735 14 735 22
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 735 14 735 22
                                   , srcInfoPoints = []
                                   }
                                 "MatchEnv")))
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 736 5 736 61
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 736 5 736 10
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 736 5 736 10
                                , srcInfoPoints = []
                                }
                              "menv'"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 736 11 736 61
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 736 11 736 12 ]
                             }
                           (RecUpdate
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 736 13 736 61
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 736 18 736 19
                                    , SrcSpan "tests/examples/RealGHC.lhs" 736 60 736 61
                                    ]
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 736 13 736 17
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 736 13 736 17
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 736 13 736 17
                                         , srcInfoPoints = []
                                         }
                                       "menv")))
                              [ FieldUpdate
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 736 20 736 59
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 736 27 736 28 ]
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 736 20 736 26
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 736 20 736 26
                                          , srcInfoPoints = []
                                          }
                                        "me_env"))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 736 29 736 59
                                       , srcInfoPoints = []
                                       }
                                     (App
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 736 29 736 55
                                          , srcInfoPoints = []
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 736 29 736 51
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 736 29 736 37
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 736 29 736 37
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            736
                                                            29
                                                            736
                                                            37
                                                      , srcInfoPoints = []
                                                      }
                                                    "rnBndrs2")))
                                           (Paren
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 736 38 736 51
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/RealGHC.lhs" 736 38 736 39
                                                    , SrcSpan
                                                        "tests/examples/RealGHC.lhs" 736 50 736 51
                                                    ]
                                                }
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 736 39 736 50
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            736
                                                            39
                                                            736
                                                            45
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               736
                                                               39
                                                               736
                                                               45
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  736
                                                                  39
                                                                  736
                                                                  45
                                                            , srcInfoPoints = []
                                                            }
                                                          "me_env")))
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            736
                                                            46
                                                            736
                                                            50
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               736
                                                               46
                                                               736
                                                               50
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  736
                                                                  46
                                                                  736
                                                                  50
                                                            , srcInfoPoints = []
                                                            }
                                                          "menv"))))))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 736 52 736 55
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 736 52 736 55
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 736 52 736 55
                                                   , srcInfoPoints = []
                                                   }
                                                 "vs1"))))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 736 56 736 59
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 736 56 736 59
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 736 56 736 59
                                                , srcInfoPoints = []
                                                }
                                              "vs2"))))
                              ]))
                        Nothing
                    ]))
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 1 739 12
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 1 738 11
                   , srcInfoPoints = []
                   }
                 "match_alts")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 12 738 16
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 12 738 16
                       , srcInfoPoints = []
                       }
                     "menv")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 17 738 22
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 17 738 22
                       , srcInfoPoints = []
                       }
                     "subst")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 23 738 28
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 23 738 28
                       , srcInfoPoints = []
                       }
                     "alts1")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 29 738 34
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 738 29 738 34
                       , srcInfoPoints = []
                       }
                     "alts2")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 739 3 739 12
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 739 3 739 4 ]
                   }
                 (Con
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 739 5 739 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 739 5 739 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 739 5 739 12
                            , srcInfoPoints = []
                            }
                          "Nothing"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 750 1 754 27
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 750 10 750 12 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 750 1 750 9
                , srcInfoPoints = []
                }
              "match_ty"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 750 13 754 27
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 751 10 751 12 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 750 13 750 21
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 750 13 750 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 750 13 750 21
                        , srcInfoPoints = []
                        }
                      "MatchEnv")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 751 13 754 27
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 752 10 752 12 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 751 13 751 21
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 751 13 751 21
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 751 13 751 21
                           , srcInfoPoints = []
                           }
                         "SubstEnv")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 752 13 754 27
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 753 10 753 12 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 752 13 752 17
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 752 13 752 17
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 752 13 752 17
                              , srcInfoPoints = []
                              }
                            "Type")))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 753 13 754 27
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 754 10 754 12 ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 753 13 753 17
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 753 13 753 17
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 753 13 753 17
                                 , srcInfoPoints = []
                                 }
                               "Type")))
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 754 13 754 27
                           , srcInfoPoints = []
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 754 13 754 18
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 754 13 754 18
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 754 13 754 18
                                    , srcInfoPoints = []
                                    }
                                  "Maybe")))
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 754 19 754 27
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 754 19 754 27
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 754 19 754 27
                                    , srcInfoPoints = []
                                    }
                                  "SubstEnv"))))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 1 757 44
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 1 757 44
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 1 755 9
                   , srcInfoPoints = []
                   }
                 "match_ty")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 10 755 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 10 755 14
                       , srcInfoPoints = []
                       }
                     "menv")
              , PTuple
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 15 755 42
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 755 15 755 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 755 24 755 25
                        , SrcSpan "tests/examples/RealGHC.lhs" 755 34 755 35
                        , SrcSpan "tests/examples/RealGHC.lhs" 755 41 755 42
                        ]
                    }
                  Boxed
                  [ PVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 16 755 24
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 16 755 24
                           , srcInfoPoints = []
                           }
                         "tv_subst")
                  , PVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 26 755 34
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 26 755 34
                           , srcInfoPoints = []
                           }
                         "id_subst")
                  , PVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 36 755 41
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 36 755 41
                           , srcInfoPoints = []
                           }
                         "binds")
                  ]
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 43 755 46
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 43 755 46
                       , srcInfoPoints = []
                       }
                     "ty1")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 47 755 50
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 755 47 755 50
                       , srcInfoPoints = []
                       }
                     "ty2")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 3 757 44
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 756 3 756 4 ]
                   }
                 (Do
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 5 757 44
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 756 5 756 7
                          , SrcSpan "tests/examples/RealGHC.lhs" 756 9 756 10
                          , SrcSpan "tests/examples/RealGHC.lhs" 757 5 757 6
                          , SrcSpan "tests/examples/RealGHC.lhs" 757 43 757 44
                          ]
                      }
                    [ Generator
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 11 756 64
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 756 21 756 23 ]
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 11 756 20
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 11 756 20
                                , srcInfoPoints = []
                                }
                              "tv_subst'"))
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 24 756 64
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 24 756 60
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 756 24 756 56
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 756 24 756 47
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 756 24 756 42
                                         , srcInfoPoints = []
                                         }
                                       (Qual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 756 24 756 42
                                            , srcInfoPoints = []
                                            }
                                          (ModuleName
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 756 24 756 42
                                               , srcInfoPoints = []
                                               }
                                             "Unify")
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 756 24 756 42
                                               , srcInfoPoints = []
                                               }
                                             "ruleMatchTyX")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 756 43 756 47
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 756 43 756 47
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 756 43 756 47
                                               , srcInfoPoints = []
                                               }
                                             "menv"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 756 48 756 56
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 756 48 756 56
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 756 48 756 56
                                            , srcInfoPoints = []
                                            }
                                          "tv_subst"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 756 57 756 60
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 756 57 756 60
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 756 57 756 60
                                         , srcInfoPoints = []
                                         }
                                       "ty1"))))
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 756 61 756 64
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 756 61 756 64
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 756 61 756 64
                                      , srcInfoPoints = []
                                      }
                                    "ty2"))))
                    , Qualifier
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 757 7 757 42
                          , srcInfoPoints = []
                          }
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 757 7 757 42
                             , srcInfoPoints = []
                             }
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 757 7 757 13
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 757 7 757 13
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 757 7 757 13
                                      , srcInfoPoints = []
                                      }
                                    "return")))
                           (Tuple
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 757 14 757 42
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 757 14 757 15
                                    , SrcSpan "tests/examples/RealGHC.lhs" 757 24 757 25
                                    , SrcSpan "tests/examples/RealGHC.lhs" 757 34 757 35
                                    , SrcSpan "tests/examples/RealGHC.lhs" 757 41 757 42
                                    ]
                                }
                              Boxed
                              [ Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 757 15 757 24
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 757 15 757 24
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 757 15 757 24
                                          , srcInfoPoints = []
                                          }
                                        "tv_subst'"))
                              , Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 757 26 757 34
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 757 26 757 34
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 757 26 757 34
                                          , srcInfoPoints = []
                                          }
                                        "id_subst"))
                              , Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 757 36 757 41
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 757 36 757 41
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 757 36 757 41
                                          , srcInfoPoints = []
                                          }
                                        "binds"))
                              ]))
                    ]))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 1 817 25
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 813 18 813 20 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 1 813 17
                , srcInfoPoints = []
                }
              "ruleCheckProgram"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 21 817 25
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 814 18 814 20 ]
               }
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 21 813 41
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 813 21 813 22
                      , SrcSpan "tests/examples/RealGHC.lhs" 813 40 813 41
                      ]
                  }
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 22 813 40
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 813 33 813 35 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 22 813 32
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 22 813 32
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 22 813 32
                              , srcInfoPoints = []
                              }
                            "Activation")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 36 813 40
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 36 813 40
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 813 36 813 40
                              , srcInfoPoints = []
                              }
                            "Bool")))))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 814 21 817 25
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 815 18 815 20 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 814 21 814 27
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 814 21 814 27
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 814 21 814 27
                           , srcInfoPoints = []
                           }
                         "String")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 815 21 817 25
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 816 18 816 20 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 815 21 815 29
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 815 21 815 29
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 815 21 815 29
                              , srcInfoPoints = []
                              }
                            "RuleBase")))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 816 21 817 25
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 817 18 817 20 ]
                        }
                      (TyList
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 816 21 816 31
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 816 21 816 22
                               , SrcSpan "tests/examples/RealGHC.lhs" 816 30 816 31
                               ]
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 816 22 816 30
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 816 22 816 30
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 816 22 816 30
                                    , srcInfoPoints = []
                                    }
                                  "CoreBind"))))
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 817 21 817 25
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 817 21 817 25
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 817 21 817 25
                                 , srcInfoPoints = []
                                 }
                               "SDoc")))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 1 828 35
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 826 3 826 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 1 828 35
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 826 3 826 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 1 818 17
                   , srcInfoPoints = []
                   }
                 "ruleCheckProgram")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 18 818 27
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 18 818 27
                       , srcInfoPoints = []
                       }
                     "is_active")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 28 818 36
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 28 818 36
                       , srcInfoPoints = []
                       }
                     "rule_pat")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 37 818 46
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 37 818 46
                       , srcInfoPoints = []
                       }
                     "rule_base")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 47 818 52
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 818 47 818 52
                       , srcInfoPoints = []
                       }
                     "binds")
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 819 3 825 7
                   , srcInfoPoints = []
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 819 3 820 57
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 819 3 819 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 820 3 820 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 819 5 819 23
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 819 5 819 23
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 819 5 819 15
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 819 5 819 15
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 819 5 819 15
                                       , srcInfoPoints = []
                                       }
                                     "isEmptyBag")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 819 16 819 23
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 819 16 819 23
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 819 16 819 23
                                       , srcInfoPoints = []
                                       }
                                     "results"))))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 820 5 820 57
                          , srcInfoPoints = []
                          }
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 820 5 820 9
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 820 5 820 9
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 820 5 820 9
                                   , srcInfoPoints = []
                                   }
                                 "text")))
                        (Lit
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 820 10 820 57
                             , srcInfoPoints = []
                             }
                           (String
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 820 10 820 57
                                , srcInfoPoints = []
                                }
                              "Rule check results: no rule application sites"
                              "Rule check results: no rule application sites")))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 821 3 825 7
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 821 3 821 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 822 3 822 4
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 821 5 821 14
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 821 5 821 14
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 821 5 821 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 821 5 821 14
                                    , srcInfoPoints = []
                                    }
                                  "otherwise")))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 822 5 825 7
                          , srcInfoPoints = []
                          }
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 822 5 822 9
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 822 5 822 9
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 822 5 822 9
                                   , srcInfoPoints = []
                                   }
                                 "vcat")))
                        (List
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 822 10 825 7
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 822 10 822 11
                                 , SrcSpan "tests/examples/RealGHC.lhs" 822 37 822 38
                                 , SrcSpan "tests/examples/RealGHC.lhs" 823 11 823 12
                                 , SrcSpan "tests/examples/RealGHC.lhs" 825 6 825 7
                                 ]
                             }
                           [ App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 822 11 822 37
                                 , srcInfoPoints = []
                                 }
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 822 11 822 15
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 822 11 822 15
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 822 11 822 15
                                          , srcInfoPoints = []
                                          }
                                        "text")))
                               (Lit
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 822 16 822 37
                                    , srcInfoPoints = []
                                    }
                                  (String
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 822 16 822 37
                                       , srcInfoPoints = []
                                       }
                                     "Rule check results:"
                                     "Rule check results:"))
                           , Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 823 7 823 11
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 823 7 823 11
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 823 7 823 11
                                       , srcInfoPoints = []
                                       }
                                     "line"))
                           , App
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 824 7 824 50
                                 , srcInfoPoints = []
                                 }
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 824 7 824 11
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 824 7 824 11
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 824 7 824 11
                                          , srcInfoPoints = []
                                          }
                                        "vcat")))
                               (ListComp
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 824 12 824 50
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 824 12 824 13
                                        , SrcSpan "tests/examples/RealGHC.lhs" 824 24 824 25
                                        , SrcSpan "tests/examples/RealGHC.lhs" 824 49 824 50
                                        ]
                                    }
                                  (InfixApp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 824 14 824 23
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 824 14 824 15
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 824 14 824 15
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 824 14 824 15
                                                , srcInfoPoints = []
                                                }
                                              "p")))
                                     (QVarOp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 824 16 824 18
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 824 16 824 18
                                             , srcInfoPoints = []
                                             }
                                           (Symbol
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 824 16 824 18
                                                , srcInfoPoints = []
                                                }
                                              "$$")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 824 19 824 23
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 824 19 824 23
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 824 19 824 23
                                                , srcInfoPoints = []
                                                }
                                              "line"))))
                                  [ QualStmt
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 824 26 824 48
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RealGHC.lhs" 824 28 824 30 ]
                                        }
                                      (Generator
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 824 26 824 48
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 824 28 824 30
                                               ]
                                           }
                                         (PVar
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 824 26 824 27
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 824 26 824 27
                                                 , srcInfoPoints = []
                                                 }
                                               "p"))
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 824 31 824 48
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 824 31 824 40
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 824 31 824 40
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             824
                                                             31
                                                             824
                                                             40
                                                       , srcInfoPoints = []
                                                       }
                                                     "bagToList")))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 824 41 824 48
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 824 41 824 48
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             824
                                                             41
                                                             824
                                                             48
                                                       , srcInfoPoints = []
                                                       }
                                                     "results")))))
                                  ])
                           ]))
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 827 5 828 35
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 827 5 827 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 828 5 828 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 830 1 830 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 827 5 827 100
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 827 5 827 12
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 827 5 827 12
                                , srcInfoPoints = []
                                }
                              "results"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 827 13 827 100
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 827 13 827 14 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 827 15 827 100
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 827 15 827 28
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 827 15 827 28
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 827 15 827 28
                                         , srcInfoPoints = []
                                         }
                                       "unionManyBags")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 827 29 827 100
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 827 29 827 30
                                       , SrcSpan "tests/examples/RealGHC.lhs" 827 99 827 100
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 827 30 827 99
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 827 30 827 93
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 827 30 827 33
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 827 30 827 33
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 827 30 827 33
                                                  , srcInfoPoints = []
                                                  }
                                                "map")))
                                       (Paren
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 827 34 827 93
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 827 34 827 35
                                                , SrcSpan "tests/examples/RealGHC.lhs" 827 92 827 93
                                                ]
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 827 35 827 92
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 827 35 827 48
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           827
                                                           35
                                                           827
                                                           48
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              827
                                                              35
                                                              827
                                                              48
                                                        , srcInfoPoints = []
                                                        }
                                                      "ruleCheckBind")))
                                             (Paren
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 827 49 827 92
                                                  , srcInfoPoints =
                                                      [ SrcSpan
                                                          "tests/examples/RealGHC.lhs" 827 49 827 50
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 827 91 827 92
                                                      ]
                                                  }
                                                (App
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           827
                                                           50
                                                           827
                                                           91
                                                     , srcInfoPoints = []
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              827
                                                              50
                                                              827
                                                              81
                                                        , srcInfoPoints = []
                                                        }
                                                      (App
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 827
                                                                 50
                                                                 827
                                                                 72
                                                           , srcInfoPoints = []
                                                           }
                                                         (Con
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    827
                                                                    50
                                                                    827
                                                                    62
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       827
                                                                       50
                                                                       827
                                                                       62
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          827
                                                                          50
                                                                          827
                                                                          62
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "RuleCheckEnv")))
                                                         (Var
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    827
                                                                    63
                                                                    827
                                                                    72
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       827
                                                                       63
                                                                       827
                                                                       72
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          827
                                                                          63
                                                                          827
                                                                          72
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "is_active"))))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 827
                                                                 73
                                                                 827
                                                                 81
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    827
                                                                    73
                                                                    827
                                                                    81
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       827
                                                                       73
                                                                       827
                                                                       81
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "rule_pat"))))
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              827
                                                              82
                                                              827
                                                              91
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 827
                                                                 82
                                                                 827
                                                                 91
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    827
                                                                    82
                                                                    827
                                                                    91
                                                              , srcInfoPoints = []
                                                              }
                                                            "rule_base"))))))))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 827 94 827 99
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 827 94 827 99
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 827 94 827 99
                                               , srcInfoPoints = []
                                               }
                                             "binds")))))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 828 5 828 35
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 828 5 828 9
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 828 5 828 9
                                , srcInfoPoints = []
                                }
                              "line"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 828 10 828 35
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 828 10 828 11 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 828 12 828 35
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 828 12 828 16
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 828 12 828 16
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 828 12 828 16
                                         , srcInfoPoints = []
                                         }
                                       "text")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 828 17 828 35
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 828 17 828 18
                                       , SrcSpan "tests/examples/RealGHC.lhs" 828 34 828 35
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 828 18 828 34
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 828 18 828 30
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 828 18 828 27
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 828 18 828 27
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 828 18 828 27
                                                  , srcInfoPoints = []
                                                  }
                                                "replicate")))
                                       (Lit
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 828 28 828 30
                                            , srcInfoPoints = []
                                            }
                                          (Int
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 828 28 828 30
                                               , srcInfoPoints = []
                                               }
                                             20
                                             "20")))
                                    (Lit
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 828 31 828 34
                                         , srcInfoPoints = []
                                         }
                                       (Char
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 828 31 828 34
                                            , srcInfoPoints = []
                                            }
                                          '-'
                                          "-"))))))
                        Nothing
                    ]))
          ]
      , DataDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 830 1 834 2
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 830 19 830 20 ]
            }
          (DataType
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 830 1 830 5
               , srcInfoPoints = []
               })
          Nothing
          (DHead
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 830 6 830 18
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 830 6 830 18
                  , srcInfoPoints = []
                  }
                "RuleCheckEnv"))
          [ QualConDecl
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 830 21 834 2
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 830 34 830 35
                    , SrcSpan "tests/examples/RealGHC.lhs" 831 39 831 40
                    , SrcSpan "tests/examples/RealGHC.lhs" 832 25 832 26
                    , SrcSpan "tests/examples/RealGHC.lhs" 834 1 834 2
                    ]
                }
              Nothing
              Nothing
              (RecDecl
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 830 21 834 2
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 830 34 830 35
                       , SrcSpan "tests/examples/RealGHC.lhs" 831 39 831 40
                       , SrcSpan "tests/examples/RealGHC.lhs" 832 25 832 26
                       , SrcSpan "tests/examples/RealGHC.lhs" 834 1 834 2
                       ]
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 830 21 830 33
                      , srcInfoPoints = []
                      }
                    "RuleCheckEnv")
                 [ FieldDecl
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 831 5 831 39
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 831 18 831 20 ]
                       }
                     [ Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 831 5 831 17
                           , srcInfoPoints = []
                           }
                         "rc_is_active"
                     ]
                     (TyFun
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 831 21 831 39
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RealGHC.lhs" 831 32 831 34 ]
                          }
                        (TyCon
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 831 21 831 31
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 831 21 831 31
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 831 21 831 31
                                   , srcInfoPoints = []
                                   }
                                 "Activation")))
                        (TyCon
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 831 35 831 39
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 831 35 831 39
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 831 35 831 39
                                   , srcInfoPoints = []
                                   }
                                 "Bool"))))
                 , FieldDecl
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 832 5 832 25
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 832 16 832 18 ]
                       }
                     [ Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 832 5 832 15
                           , srcInfoPoints = []
                           }
                         "rc_pattern"
                     ]
                     (TyCon
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 832 19 832 25
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 832 19 832 25
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 832 19 832 25
                                , srcInfoPoints = []
                                }
                              "String")))
                 , FieldDecl
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 833 5 833 29
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 833 18 833 20 ]
                       }
                     [ Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 833 5 833 17
                           , srcInfoPoints = []
                           }
                         "rc_rule_base"
                     ]
                     (TyCon
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 833 21 833 29
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 833 21 833 29
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 833 21 833 29
                                , srcInfoPoints = []
                                }
                              "RuleBase")))
                 ])
          ]
          []
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 1 836 54
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 836 15 836 17 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 1 836 14
                , srcInfoPoints = []
                }
              "ruleCheckBind"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 18 836 54
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 836 31 836 33 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 18 836 30
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 18 836 30
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 18 836 30
                        , srcInfoPoints = []
                        }
                      "RuleCheckEnv")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 34 836 54
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 836 43 836 45 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 34 836 42
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 34 836 42
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 34 836 42
                           , srcInfoPoints = []
                           }
                         "CoreBind")))
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 46 836 54
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 46 836 49
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 46 836 49
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 46 836 49
                              , srcInfoPoints = []
                              }
                            "Bag")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 50 836 54
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 50 836 54
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 836 50 836 54
                              , srcInfoPoints = []
                              }
                            "SDoc"))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 1 839 80
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 1 838 49
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 1 838 14
                   , srcInfoPoints = []
                   }
                 "ruleCheckBind")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 15 838 18
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 15 838 18
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 19 838 31
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 838 19 838 20
                        , SrcSpan "tests/examples/RealGHC.lhs" 838 30 838 31
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 20 838 30
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 20 838 26
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 20 838 26
                             , srcInfoPoints = []
                             }
                           "NonRec"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 27 838 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 27 838 28
                              , srcInfoPoints = []
                              }
                            "b")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 29 838 30
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 29 838 30
                              , srcInfoPoints = []
                              }
                            "r")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 32 838 49
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 838 32 838 33 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 34 838 49
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 34 838 47
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 34 838 43
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 34 838 43
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 34 838 43
                                  , srcInfoPoints = []
                                  }
                                "ruleCheck")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 44 838 47
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 44 838 47
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 44 838 47
                                  , srcInfoPoints = []
                                  }
                                "env"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 48 838 49
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 48 838 49
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 838 48 838 49
                               , srcInfoPoints = []
                               }
                             "r")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 1 839 80
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 1 839 14
                   , srcInfoPoints = []
                   }
                 "ruleCheckBind")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 15 839 18
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 15 839 18
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 19 839 28
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 839 19 839 20
                        , SrcSpan "tests/examples/RealGHC.lhs" 839 27 839 28
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 20 839 27
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 20 839 23
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 20 839 23
                             , srcInfoPoints = []
                             }
                           "Rec"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 24 839 27
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 24 839 27
                              , srcInfoPoints = []
                              }
                            "prs")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 32 839 80
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 839 32 839 33 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 34 839 80
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 34 839 47
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 34 839 47
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 34 839 47
                               , srcInfoPoints = []
                               }
                             "unionManyBags")))
                    (ListComp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 48 839 80
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 839 48 839 49
                             , SrcSpan "tests/examples/RealGHC.lhs" 839 65 839 66
                             , SrcSpan "tests/examples/RealGHC.lhs" 839 79 839 80
                             ]
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 49 839 64
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 49 839 62
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 49 839 58
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 839 49 839 58
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 839 49 839 58
                                        , srcInfoPoints = []
                                        }
                                      "ruleCheck")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 59 839 62
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 839 59 839 62
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 839 59 839 62
                                        , srcInfoPoints = []
                                        }
                                      "env"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 63 839 64
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 63 839 64
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 839 63 839 64
                                     , srcInfoPoints = []
                                     }
                                   "r"))))
                       [ QualStmt
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 67 839 79
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 839 73 839 75 ]
                             }
                           (Generator
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 839 67 839 79
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 839 73 839 75 ]
                                }
                              (PTuple
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 839 67 839 72
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 839 67 839 68
                                       , SrcSpan "tests/examples/RealGHC.lhs" 839 69 839 70
                                       , SrcSpan "tests/examples/RealGHC.lhs" 839 71 839 72
                                       ]
                                   }
                                 Boxed
                                 [ PVar
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 839 68 839 69
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 839 68 839 69
                                          , srcInfoPoints = []
                                          }
                                        "b")
                                 , PVar
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 839 70 839 71
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 839 70 839 71
                                          , srcInfoPoints = []
                                          }
                                        "r")
                                 ])
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 839 76 839 79
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 839 76 839 79
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 839 76 839 79
                                         , srcInfoPoints = []
                                         }
                                       "prs"))))
                       ])))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 1 841 50
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 841 11 841 13 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 1 841 10
                , srcInfoPoints = []
                }
              "ruleCheck"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 14 841 50
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 841 27 841 29 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 14 841 26
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 14 841 26
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 14 841 26
                        , srcInfoPoints = []
                        }
                      "RuleCheckEnv")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 30 841 50
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 841 39 841 41 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 30 841 38
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 30 841 38
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 30 841 38
                           , srcInfoPoints = []
                           }
                         "CoreExpr")))
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 42 841 50
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 42 841 45
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 42 841 45
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 42 841 45
                              , srcInfoPoints = []
                              }
                            "Bag")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 46 841 50
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 46 841 50
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 841 46 841 50
                              , srcInfoPoints = []
                              }
                            "SDoc"))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 1 851 68
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 1 842 39
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 1 842 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 11 842 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 11 842 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 15 842 22
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 842 15 842 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 842 21 842 22
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 16 842 21
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 16 842 19
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 16 842 19
                             , srcInfoPoints = []
                             }
                           "Var"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 20 842 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 20 842 21
                              , srcInfoPoints = []
                              }
                            "v")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 29 842 39
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 842 29 842 30 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 31 842 39
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 31 842 39
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 842 31 842 39
                            , srcInfoPoints = []
                            }
                          "emptyBag"))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 1 843 39
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 1 843 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 11 843 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 11 843 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 15 843 22
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 843 15 843 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 843 21 843 22
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 16 843 21
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 16 843 19
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 16 843 19
                             , srcInfoPoints = []
                             }
                           "Lit"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 20 843 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 20 843 21
                              , srcInfoPoints = []
                              }
                            "l")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 29 843 39
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 843 29 843 30 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 31 843 39
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 31 843 39
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 843 31 843 39
                            , srcInfoPoints = []
                            }
                          "emptyBag"))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 1 844 39
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 1 844 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 11 844 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 11 844 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 15 844 24
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 844 15 844 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 844 23 844 24
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 16 844 23
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 16 844 20
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 16 844 20
                             , srcInfoPoints = []
                             }
                           "Type"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 21 844 23
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 21 844 23
                              , srcInfoPoints = []
                              }
                            "ty")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 29 844 39
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 844 29 844 30 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 31 844 39
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 31 844 39
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 844 31 844 39
                            , srcInfoPoints = []
                            }
                          "emptyBag"))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 1 845 60
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 1 845 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 11 845 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 11 845 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 15 845 24
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 845 15 845 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 845 23 845 24
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 16 845 23
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 16 845 19
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 16 845 19
                             , srcInfoPoints = []
                             }
                           "App"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 20 845 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 20 845 21
                              , srcInfoPoints = []
                              }
                            "f")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 22 845 23
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 22 845 23
                              , srcInfoPoints = []
                              }
                            "a")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 29 845 60
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 845 29 845 30 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 31 845 60
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 31 845 57
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 31 845 47
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 31 845 43
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 31 845 43
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 845 31 845 43
                                     , srcInfoPoints = []
                                     }
                                   "ruleCheckApp")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 44 845 47
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 44 845 47
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 845 44 845 47
                                     , srcInfoPoints = []
                                     }
                                   "env"))))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 48 845 57
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 845 48 845 49
                                , SrcSpan "tests/examples/RealGHC.lhs" 845 56 845 57
                                ]
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 49 845 56
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 49 845 54
                                  , srcInfoPoints = []
                                  }
                                (Con
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 845 49 845 52
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 845 49 845 52
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 845 49 845 52
                                           , srcInfoPoints = []
                                           }
                                         "App")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 845 53 845 54
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 845 53 845 54
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 845 53 845 54
                                           , srcInfoPoints = []
                                           }
                                         "f"))))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 55 845 56
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 845 55 845 56
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 845 55 845 56
                                        , srcInfoPoints = []
                                        }
                                      "a"))))))
                    (List
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 845 58 845 60
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 845 58 845 59
                             , SrcSpan "tests/examples/RealGHC.lhs" 845 59 845 60
                             ]
                         }
                       [])))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 1 846 46
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 1 846 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 11 846 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 11 846 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 15 846 25
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 846 15 846 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 846 24 846 25
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 16 846 24
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 16 846 20
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 16 846 20
                             , srcInfoPoints = []
                             }
                           "Note"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 21 846 22
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 21 846 22
                              , srcInfoPoints = []
                              }
                            "n")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 23 846 24
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 23 846 24
                              , srcInfoPoints = []
                              }
                            "e")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 29 846 46
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 846 29 846 30 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 31 846 46
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 31 846 44
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 31 846 40
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 31 846 40
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 31 846 40
                                  , srcInfoPoints = []
                                  }
                                "ruleCheck")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 41 846 44
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 41 846 44
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 41 846 44
                                  , srcInfoPoints = []
                                  }
                                "env"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 45 846 46
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 45 846 46
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 846 45 846 46
                               , srcInfoPoints = []
                               }
                             "e")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 1 847 46
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 1 847 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 11 847 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 11 847 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 15 847 26
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 847 15 847 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 847 25 847 26
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 16 847 25
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 16 847 20
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 16 847 20
                             , srcInfoPoints = []
                             }
                           "Cast"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 21 847 22
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 21 847 22
                              , srcInfoPoints = []
                              }
                            "e")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 23 847 25
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 23 847 25
                              , srcInfoPoints = []
                              }
                            "co")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 29 847 46
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 847 29 847 30 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 31 847 46
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 31 847 44
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 31 847 40
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 31 847 40
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 31 847 40
                                  , srcInfoPoints = []
                                  }
                                "ruleCheck")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 41 847 44
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 41 847 44
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 41 847 44
                                  , srcInfoPoints = []
                                  }
                                "env"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 45 847 46
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 45 847 46
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 847 45 847 46
                               , srcInfoPoints = []
                               }
                             "e")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 1 848 79
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 1 848 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 11 848 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 11 848 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 15 848 25
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 848 15 848 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 848 24 848 25
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 16 848 24
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 16 848 19
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 16 848 19
                             , srcInfoPoints = []
                             }
                           "Let"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 20 848 22
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 20 848 22
                              , srcInfoPoints = []
                              }
                            "bd")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 23 848 24
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 23 848 24
                              , srcInfoPoints = []
                              }
                            "e")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 29 848 79
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 848 29 848 30 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 31 848 79
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 31 848 51
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 31 848 48
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 31 848 44
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 31 848 44
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 848 31 848 44
                                     , srcInfoPoints = []
                                     }
                                   "ruleCheckBind")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 45 848 48
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 45 848 48
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 848 45 848 48
                                     , srcInfoPoints = []
                                     }
                                   "env"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 49 848 51
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 49 848 51
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 49 848 51
                                  , srcInfoPoints = []
                                  }
                                "bd"))))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 52 848 63
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 848 52 848 53
                             , SrcSpan "tests/examples/RealGHC.lhs" 848 53 848 62
                             , SrcSpan "tests/examples/RealGHC.lhs" 848 62 848 63
                             ]
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 52 848 63
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 848 52 848 53
                                , SrcSpan "tests/examples/RealGHC.lhs" 848 53 848 62
                                , SrcSpan "tests/examples/RealGHC.lhs" 848 62 848 63
                                ]
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 53 848 62
                               , srcInfoPoints = []
                               }
                             "unionBags")))
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 64 848 79
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 64 848 77
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 64 848 73
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 64 848 73
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 848 64 848 73
                                     , srcInfoPoints = []
                                     }
                                   "ruleCheck")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 74 848 77
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 74 848 77
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 848 74 848 77
                                     , srcInfoPoints = []
                                     }
                                   "env"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 78 848 79
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 78 848 79
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 848 78 848 79
                                  , srcInfoPoints = []
                                  }
                                "e"))))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 1 849 46
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 1 849 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 11 849 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 11 849 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 15 849 24
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 849 15 849 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 849 23 849 24
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 16 849 23
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 16 849 19
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 16 849 19
                             , srcInfoPoints = []
                             }
                           "Lam"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 20 849 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 20 849 21
                              , srcInfoPoints = []
                              }
                            "b")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 22 849 23
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 22 849 23
                              , srcInfoPoints = []
                              }
                            "e")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 29 849 46
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 849 29 849 30 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 31 849 46
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 31 849 44
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 31 849 40
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 31 849 40
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 31 849 40
                                  , srcInfoPoints = []
                                  }
                                "ruleCheck")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 41 849 44
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 41 849 44
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 41 849 44
                                  , srcInfoPoints = []
                                  }
                                "env"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 45 849 46
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 45 849 46
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 849 45 849 46
                               , srcInfoPoints = []
                               }
                             "e")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 1 851 68
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 1 850 10
                   , srcInfoPoints = []
                   }
                 "ruleCheck")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 11 850 14
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 11 850 14
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 15 850 30
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 850 15 850 16
                        , SrcSpan "tests/examples/RealGHC.lhs" 850 29 850 30
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 16 850 29
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 16 850 20
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 16 850 20
                             , srcInfoPoints = []
                             }
                           "Case"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 21 850 22
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 21 850 22
                              , srcInfoPoints = []
                              }
                            "e")
                     , PWildCard
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 23 850 24
                           , srcInfoPoints = []
                           }
                     , PWildCard
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 25 850 26
                           , srcInfoPoints = []
                           }
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 27 850 29
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 27 850 29
                              , srcInfoPoints = []
                              }
                            "as")
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 31 851 68
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 850 31 850 32 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 33 851 68
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 33 850 48
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 33 850 46
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 33 850 42
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 33 850 42
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 850 33 850 42
                                     , srcInfoPoints = []
                                     }
                                   "ruleCheck")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 43 850 46
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 43 850 46
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 850 43 850 46
                                     , srcInfoPoints = []
                                     }
                                   "env"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 47 850 48
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 47 850 48
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 47 850 48
                                  , srcInfoPoints = []
                                  }
                                "e"))))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 49 850 60
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 850 49 850 50
                             , SrcSpan "tests/examples/RealGHC.lhs" 850 50 850 59
                             , SrcSpan "tests/examples/RealGHC.lhs" 850 59 850 60
                             ]
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 49 850 60
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 850 49 850 50
                                , SrcSpan "tests/examples/RealGHC.lhs" 850 50 850 59
                                , SrcSpan "tests/examples/RealGHC.lhs" 850 59 850 60
                                ]
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 850 50 850 59
                               , srcInfoPoints = []
                               }
                             "unionBags")))
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 21 851 68
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 21 851 34
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 21 851 34
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 21 851 34
                                  , srcInfoPoints = []
                                  }
                                "unionManyBags")))
                       (ListComp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 35 851 68
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 851 35 851 36
                                , SrcSpan "tests/examples/RealGHC.lhs" 851 52 851 53
                                , SrcSpan "tests/examples/RealGHC.lhs" 851 67 851 68
                                ]
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 36 851 51
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 36 851 49
                                  , srcInfoPoints = []
                                  }
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 851 36 851 45
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 851 36 851 45
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 851 36 851 45
                                           , srcInfoPoints = []
                                           }
                                         "ruleCheck")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 851 46 851 49
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 851 46 851 49
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 851 46 851 49
                                           , srcInfoPoints = []
                                           }
                                         "env"))))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 50 851 51
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 851 50 851 51
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 851 50 851 51
                                        , srcInfoPoints = []
                                        }
                                      "r"))))
                          [ QualStmt
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 851 54 851 67
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 851 62 851 64 ]
                                }
                              (Generator
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 851 54 851 67
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 851 62 851 64 ]
                                   }
                                 (PTuple
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 851 54 851 61
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 851 54 851 55
                                          , SrcSpan "tests/examples/RealGHC.lhs" 851 56 851 57
                                          , SrcSpan "tests/examples/RealGHC.lhs" 851 58 851 59
                                          , SrcSpan "tests/examples/RealGHC.lhs" 851 60 851 61
                                          ]
                                      }
                                    Boxed
                                    [ PWildCard
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 851 55 851 56
                                          , srcInfoPoints = []
                                          }
                                    , PWildCard
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 851 57 851 58
                                          , srcInfoPoints = []
                                          }
                                    , PVar
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 851 59 851 60
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 851 59 851 60
                                             , srcInfoPoints = []
                                             }
                                           "r")
                                    ])
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 851 65 851 67
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 851 65 851 67
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 851 65 851 67
                                            , srcInfoPoints = []
                                            }
                                          "as"))))
                          ]))))
              Nothing
          ]
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 1 855 52
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 1 853 86
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 1 853 13
                   , srcInfoPoints = []
                   }
                 "ruleCheckApp")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 14 853 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 14 853 17
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 18 853 27
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 853 18 853 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 853 26 853 27
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 19 853 26
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 19 853 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 19 853 22
                             , srcInfoPoints = []
                             }
                           "App"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 23 853 24
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 23 853 24
                              , srcInfoPoints = []
                              }
                            "f")
                     , PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 25 853 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 25 853 26
                              , srcInfoPoints = []
                              }
                            "a")
                     ])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 28 853 30
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 28 853 30
                       , srcInfoPoints = []
                       }
                     "as")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 31 853 86
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 853 31 853 32 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 33 853 86
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 33 853 48
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 33 853 46
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 33 853 42
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 33 853 42
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 33 853 42
                                     , srcInfoPoints = []
                                     }
                                   "ruleCheck")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 43 853 46
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 43 853 46
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 43 853 46
                                     , srcInfoPoints = []
                                     }
                                   "env"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 47 853 48
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 47 853 48
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 47 853 48
                                  , srcInfoPoints = []
                                  }
                                "a"))))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 49 853 60
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 853 49 853 50
                             , SrcSpan "tests/examples/RealGHC.lhs" 853 50 853 59
                             , SrcSpan "tests/examples/RealGHC.lhs" 853 59 853 60
                             ]
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 49 853 60
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 853 49 853 50
                                , SrcSpan "tests/examples/RealGHC.lhs" 853 50 853 59
                                , SrcSpan "tests/examples/RealGHC.lhs" 853 59 853 60
                                ]
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 50 853 59
                               , srcInfoPoints = []
                               }
                             "unionBags")))
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 61 853 86
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 61 853 79
                            , srcInfoPoints = []
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 61 853 77
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 61 853 73
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 61 853 73
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 853 61 853 73
                                        , srcInfoPoints = []
                                        }
                                      "ruleCheckApp")))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 74 853 77
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 74 853 77
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 853 74 853 77
                                        , srcInfoPoints = []
                                        }
                                      "env"))))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 78 853 79
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 78 853 79
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 78 853 79
                                     , srcInfoPoints = []
                                     }
                                   "f"))))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 80 853 86
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RealGHC.lhs" 853 80 853 81
                                , SrcSpan "tests/examples/RealGHC.lhs" 853 85 853 86
                                ]
                            }
                          (InfixApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 81 853 85
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 81 853 82
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 81 853 82
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 853 81 853 82
                                        , srcInfoPoints = []
                                        }
                                      "a")))
                             (QConOp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 82 853 83
                                  , srcInfoPoints = []
                                  }
                                (Special
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 82 853 83
                                     , srcInfoPoints = []
                                     }
                                   (Cons
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 853 82 853 83
                                        , srcInfoPoints = []
                                        })))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 853 83 853 85
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 853 83 853 85
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 853 83 853 85
                                        , srcInfoPoints = []
                                        }
                                      "as"))))))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 1 854 54
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 1 854 13
                   , srcInfoPoints = []
                   }
                 "ruleCheckApp")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 14 854 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 14 854 17
                       , srcInfoPoints = []
                       }
                     "env")
              , PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 18 854 25
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/RealGHC.lhs" 854 18 854 19
                        , SrcSpan "tests/examples/RealGHC.lhs" 854 24 854 25
                        ]
                    }
                  (PApp
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 19 854 24
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 19 854 22
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 19 854 22
                             , srcInfoPoints = []
                             }
                           "Var"))
                     [ PVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 23 854 24
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 23 854 24
                              , srcInfoPoints = []
                              }
                            "f")
                     ])
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 26 854 28
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 26 854 28
                       , srcInfoPoints = []
                       }
                     "as")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 31 854 54
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 854 31 854 32 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 33 854 54
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 33 854 51
                         , srcInfoPoints = []
                         }
                       (App
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 33 854 49
                            , srcInfoPoints = []
                            }
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 33 854 45
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 33 854 45
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 854 33 854 45
                                     , srcInfoPoints = []
                                     }
                                   "ruleCheckFun")))
                          (Var
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 46 854 49
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 46 854 49
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 854 46 854 49
                                     , srcInfoPoints = []
                                     }
                                   "env"))))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 50 854 51
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 50 854 51
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 50 854 51
                                  , srcInfoPoints = []
                                  }
                                "f"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 52 854 54
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 52 854 54
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 854 52 854 54
                               , srcInfoPoints = []
                               }
                             "as")))))
              Nothing
          , Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 1 855 52
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 1 855 13
                   , srcInfoPoints = []
                   }
                 "ruleCheckApp")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 14 855 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 14 855 17
                       , srcInfoPoints = []
                       }
                     "env")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 18 855 23
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 18 855 23
                       , srcInfoPoints = []
                       }
                     "other")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 24 855 26
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 24 855 26
                       , srcInfoPoints = []
                       }
                     "as")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 31 855 52
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 855 31 855 32 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 33 855 52
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 33 855 46
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 33 855 42
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 33 855 42
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 33 855 42
                                  , srcInfoPoints = []
                                  }
                                "ruleCheck")))
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 43 855 46
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 43 855 46
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 43 855 46
                                  , srcInfoPoints = []
                                  }
                                "env"))))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 47 855 52
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 47 855 52
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 855 47 855 52
                               , srcInfoPoints = []
                               }
                             "other")))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 1 859 61
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 859 14 859 16 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 1 859 13
                , srcInfoPoints = []
                }
              "ruleCheckFun"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 17 859 61
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 859 30 859 32 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 17 859 29
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 17 859 29
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 17 859 29
                        , srcInfoPoints = []
                        }
                      "RuleCheckEnv")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 33 859 61
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 859 36 859 38 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 33 859 35
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 33 859 35
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 33 859 35
                           , srcInfoPoints = []
                           }
                         "Id")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 39 859 61
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 859 50 859 52 ]
                     }
                   (TyList
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 39 859 49
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 859 39 859 40
                            , SrcSpan "tests/examples/RealGHC.lhs" 859 48 859 49
                            ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 40 859 48
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 40 859 48
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 40 859 48
                                 , srcInfoPoints = []
                                 }
                               "CoreExpr"))))
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 53 859 61
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 53 859 56
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 53 859 56
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 53 859 56
                                 , srcInfoPoints = []
                                 }
                               "Bag")))
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 57 859 61
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 57 859 61
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 859 57 859 61
                                 , srcInfoPoints = []
                                 }
                               "SDoc")))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 1 868 72
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 866 3 866 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 1 868 72
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 866 3 866 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 1 863 13
                   , srcInfoPoints = []
                   }
                 "ruleCheckFun")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 14 863 17
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 14 863 17
                       , srcInfoPoints = []
                       }
                     "env")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 18 863 20
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 18 863 20
                       , srcInfoPoints = []
                       }
                     "fn")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 21 863 25
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 863 21 863 25
                       , srcInfoPoints = []
                       }
                     "args")
              ]
              (GuardedRhss
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 3 865 96
                   , srcInfoPoints = []
                   }
                 [ GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 3 864 37
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 864 3 864 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 864 27 864 28
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 5 864 26
                           , srcInfoPoints = []
                           }
                         (App
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 5 864 26
                              , srcInfoPoints = []
                              }
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 5 864 9
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 5 864 9
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 864 5 864 9
                                       , srcInfoPoints = []
                                       }
                                     "null")))
                            (Var
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 10 864 26
                                 , srcInfoPoints = []
                                 }
                               (UnQual
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 864 10 864 26
                                    , srcInfoPoints = []
                                    }
                                  (Ident
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 864 10 864 26
                                       , srcInfoPoints = []
                                       }
                                     "name_match_rules"))))
                     ]
                     (Var
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 29 864 37
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 29 864 37
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 864 29 864 37
                                , srcInfoPoints = []
                                }
                              "emptyBag")))
                 , GuardedRhs
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 3 865 96
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/RealGHC.lhs" 865 3 865 4
                           , SrcSpan "tests/examples/RealGHC.lhs" 865 23 865 24
                           ]
                       }
                     [ Qualifier
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 5 865 14
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 5 865 14
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 5 865 14
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 865 5 865 14
                                    , srcInfoPoints = []
                                    }
                                  "otherwise")))
                     ]
                     (App
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 25 865 96
                          , srcInfoPoints = []
                          }
                        (Var
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 25 865 32
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 25 865 32
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 865 25 865 32
                                   , srcInfoPoints = []
                                   }
                                 "unitBag")))
                        (Paren
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 33 865 96
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 865 33 865 34
                                 , SrcSpan "tests/examples/RealGHC.lhs" 865 95 865 96
                                 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 865 34 865 95
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 865 34 865 78
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 865 34 865 73
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 865 34 865 70
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 865 34 865 51
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 865 34 865 51
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 865 34 865 51
                                                  , srcInfoPoints = []
                                                  }
                                                "ruleAppCheck_help")))
                                       (Paren
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 865 52 865 70
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 865 52 865 53
                                                , SrcSpan "tests/examples/RealGHC.lhs" 865 69 865 70
                                                ]
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 865 53 865 69
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 865 53 865 65
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           865
                                                           53
                                                           865
                                                           65
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              865
                                                              53
                                                              865
                                                              65
                                                        , srcInfoPoints = []
                                                        }
                                                      "rc_is_active")))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 865 66 865 69
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           865
                                                           66
                                                           865
                                                           69
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              865
                                                              66
                                                              865
                                                              69
                                                        , srcInfoPoints = []
                                                        }
                                                      "env"))))))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 865 71 865 73
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 865 71 865 73
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 865 71 865 73
                                               , srcInfoPoints = []
                                               }
                                             "fn"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 865 74 865 78
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 865 74 865 78
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 865 74 865 78
                                            , srcInfoPoints = []
                                            }
                                          "args"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 865 79 865 95
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 865 79 865 95
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 865 79 865 95
                                         , srcInfoPoints = []
                                         }
                                       "name_match_rules"))))))
                 ])
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 867 5 868 72
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 867 5 867 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 868 5 868 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 870 1 870 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 867 5 867 69
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 867 5 867 21
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 867 5 867 21
                                , srcInfoPoints = []
                                }
                              "name_match_rules"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 867 22 867 69
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 867 22 867 23 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 867 24 867 69
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 867 24 867 36
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 867 24 867 30
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 867 24 867 30
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 867 24 867 30
                                            , srcInfoPoints = []
                                            }
                                          "filter")))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 867 31 867 36
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 867 31 867 36
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 867 31 867 36
                                            , srcInfoPoints = []
                                            }
                                          "match"))))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 867 37 867 69
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 867 37 867 38
                                       , SrcSpan "tests/examples/RealGHC.lhs" 867 68 867 69
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 867 38 867 68
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 867 38 867 65
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 867 38 867 46
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 867 38 867 46
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 867 38 867 46
                                                  , srcInfoPoints = []
                                                  }
                                                "getRules")))
                                       (Paren
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 867 47 867 65
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 867 47 867 48
                                                , SrcSpan "tests/examples/RealGHC.lhs" 867 64 867 65
                                                ]
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 867 48 867 64
                                               , srcInfoPoints = []
                                               }
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 867 48 867 60
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           867
                                                           48
                                                           867
                                                           60
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              867
                                                              48
                                                              867
                                                              60
                                                        , srcInfoPoints = []
                                                        }
                                                      "rc_rule_base")))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 867 61 867 64
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           867
                                                           61
                                                           867
                                                           64
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              867
                                                              61
                                                              867
                                                              64
                                                        , srcInfoPoints = []
                                                        }
                                                      "env"))))))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 867 66 867 68
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 867 66 867 68
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 867 66 867 68
                                               , srcInfoPoints = []
                                               }
                                             "fn")))))))
                        Nothing
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 868 5 868 72
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 868 5 868 72
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 868 5 868 10
                                 , srcInfoPoints = []
                                 }
                               "match")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 868 11 868 15
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 868 11 868 15
                                     , srcInfoPoints = []
                                     }
                                   "rule")
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 868 16 868 72
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 868 16 868 17 ]
                                 }
                               (InfixApp
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 868 18 868 72
                                    , srcInfoPoints = []
                                    }
                                  (Paren
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 868 18 868 34
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/RealGHC.lhs" 868 18 868 19
                                           , SrcSpan "tests/examples/RealGHC.lhs" 868 33 868 34
                                           ]
                                       }
                                     (App
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 868 19 868 33
                                          , srcInfoPoints = []
                                          }
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 868 19 868 29
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 868 19 868 29
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 868 19 868 29
                                                   , srcInfoPoints = []
                                                   }
                                                 "rc_pattern")))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 868 30 868 33
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 868 30 868 33
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 868 30 868 33
                                                   , srcInfoPoints = []
                                                   }
                                                 "env")))))
                                  (QVarOp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 868 35 868 47
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/RealGHC.lhs" 868 35 868 36
                                           , SrcSpan "tests/examples/RealGHC.lhs" 868 36 868 46
                                           , SrcSpan "tests/examples/RealGHC.lhs" 868 46 868 47
                                           ]
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 868 35 868 47
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 868 35 868 36
                                              , SrcSpan "tests/examples/RealGHC.lhs" 868 36 868 46
                                              , SrcSpan "tests/examples/RealGHC.lhs" 868 46 868 47
                                              ]
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 868 36 868 46
                                             , srcInfoPoints = []
                                             }
                                           "isPrefixOf")))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 868 48 868 72
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 868 48 868 56
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 868 48 868 56
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 868 48 868 56
                                                , srcInfoPoints = []
                                                }
                                              "unpackFS")))
                                     (Paren
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 868 57 868 72
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 868 57 868 58
                                              , SrcSpan "tests/examples/RealGHC.lhs" 868 71 868 72
                                              ]
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 868 58 868 71
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 868 58 868 66
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 868 58 868 66
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            868
                                                            58
                                                            868
                                                            66
                                                      , srcInfoPoints = []
                                                      }
                                                    "ruleName")))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 868 67 868 71
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 868 67 868 71
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            868
                                                            67
                                                            868
                                                            71
                                                      , srcInfoPoints = []
                                                      }
                                                    "rule"))))))))
                            Nothing
                        ]
                    ]))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 1 870 84
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 870 19 870 21 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 1 870 18
                , srcInfoPoints = []
                }
              "ruleAppCheck_help"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 22 870 84
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RealGHC.lhs" 870 43 870 45 ]
               }
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 22 870 42
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 870 22 870 23
                      , SrcSpan "tests/examples/RealGHC.lhs" 870 41 870 42
                      ]
                  }
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 23 870 41
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 870 34 870 36 ]
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 23 870 33
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 23 870 33
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 23 870 33
                              , srcInfoPoints = []
                              }
                            "Activation")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 37 870 41
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 37 870 41
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 37 870 41
                              , srcInfoPoints = []
                              }
                            "Bool")))))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 46 870 84
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RealGHC.lhs" 870 49 870 51 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 46 870 48
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 46 870 48
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 46 870 48
                           , srcInfoPoints = []
                           }
                         "Id")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 52 870 84
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RealGHC.lhs" 870 63 870 65 ]
                     }
                   (TyList
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 52 870 62
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 870 52 870 53
                            , SrcSpan "tests/examples/RealGHC.lhs" 870 61 870 62
                            ]
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 53 870 61
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 53 870 61
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 53 870 61
                                 , srcInfoPoints = []
                                 }
                               "CoreExpr"))))
                   (TyFun
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 66 870 84
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RealGHC.lhs" 870 77 870 79 ]
                        }
                      (TyList
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 66 870 76
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RealGHC.lhs" 870 66 870 67
                               , SrcSpan "tests/examples/RealGHC.lhs" 870 75 870 76
                               ]
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 67 870 75
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 67 870 75
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 870 67 870 75
                                    , srcInfoPoints = []
                                    }
                                  "CoreRule"))))
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 80 870 84
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 80 870 84
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 870 80 870 84
                                 , srcInfoPoints = []
                                 }
                               "SDoc")))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 1 911 59
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RealGHC.lhs" 875 3 875 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 1 911 59
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RealGHC.lhs" 875 3 875 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 1 871 18
                   , srcInfoPoints = []
                   }
                 "ruleAppCheck_help")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 19 871 28
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 19 871 28
                       , srcInfoPoints = []
                       }
                     "is_active")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 29 871 31
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 29 871 31
                       , srcInfoPoints = []
                       }
                     "fn")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 32 871 36
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 32 871 36
                       , srcInfoPoints = []
                       }
                     "args")
              , PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 37 871 42
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 871 37 871 42
                       , srcInfoPoints = []
                       }
                     "rules")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 872 3 874 35
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RealGHC.lhs" 872 3 872 4 ]
                   }
                 (App
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 5 874 35
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 5 873 9
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 5 873 9
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 5 873 9
                               , srcInfoPoints = []
                               }
                             "vcat")))
                    (List
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 10 874 35
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RealGHC.lhs" 873 10 873 11
                             , SrcSpan "tests/examples/RealGHC.lhs" 873 60 873 61
                             , SrcSpan "tests/examples/RealGHC.lhs" 874 34 874 35
                             ]
                         }
                       [ InfixApp
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 11 873 60
                             , srcInfoPoints = []
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 11 873 29
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 873 11 873 15
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 873 11 873 15
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 873 11 873 15
                                         , srcInfoPoints = []
                                         }
                                       "text")))
                              (Lit
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 873 16 873 29
                                   , srcInfoPoints = []
                                   }
                                 (String
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 873 16 873 29
                                      , srcInfoPoints = []
                                      }
                                    "Expression:"
                                    "Expression:")))
                           (QVarOp
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 30 873 33
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 873 30 873 33
                                   , srcInfoPoints = []
                                   }
                                 (Symbol
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 873 30 873 33
                                      , srcInfoPoints = []
                                      }
                                    "<+>")))
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 873 34 873 60
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 873 34 873 37
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 873 34 873 37
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 873 34 873 37
                                         , srcInfoPoints = []
                                         }
                                       "ppr")))
                              (Paren
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 873 38 873 60
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 873 38 873 39
                                       , SrcSpan "tests/examples/RealGHC.lhs" 873 59 873 60
                                       ]
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 873 39 873 59
                                      , srcInfoPoints = []
                                      }
                                    (App
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 873 39 873 54
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 873 39 873 45
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 873 39 873 45
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 873 39 873 45
                                                  , srcInfoPoints = []
                                                  }
                                                "mkApps")))
                                       (Paren
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 873 46 873 54
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 873 46 873 47
                                                , SrcSpan "tests/examples/RealGHC.lhs" 873 53 873 54
                                                ]
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 873 47 873 53
                                               , srcInfoPoints = []
                                               }
                                             (Con
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 873 47 873 50
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           873
                                                           47
                                                           873
                                                           50
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              873
                                                              47
                                                              873
                                                              50
                                                        , srcInfoPoints = []
                                                        }
                                                      "Var")))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 873 51 873 53
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           873
                                                           51
                                                           873
                                                           53
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              873
                                                              51
                                                              873
                                                              53
                                                        , srcInfoPoints = []
                                                        }
                                                      "fn"))))))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 873 55 873 59
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 873 55 873 59
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 873 55 873 59
                                               , srcInfoPoints = []
                                               }
                                             "args"))))))
                       , App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 874 7 874 34
                             , srcInfoPoints = []
                             }
                           (Var
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 874 7 874 11
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 874 7 874 11
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 874 7 874 11
                                      , srcInfoPoints = []
                                      }
                                    "vcat")))
                           (Paren
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 874 12 874 34
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RealGHC.lhs" 874 12 874 13
                                    , SrcSpan "tests/examples/RealGHC.lhs" 874 33 874 34
                                    ]
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 874 13 874 33
                                   , srcInfoPoints = []
                                   }
                                 (App
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 874 13 874 27
                                      , srcInfoPoints = []
                                      }
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 874 13 874 16
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 874 13 874 16
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 874 13 874 16
                                               , srcInfoPoints = []
                                               }
                                             "map")))
                                    (Var
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 874 17 874 27
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 874 17 874 27
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 874 17 874 27
                                               , srcInfoPoints = []
                                               }
                                             "check_rule"))))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 874 28 874 33
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 874 28 874 33
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 874 28 874 33
                                            , srcInfoPoints = []
                                            }
                                          "rules")))))
                       ])))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 876 5 911 59
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RealGHC.lhs" 876 5 876 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 877 5 877 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 878 5 878 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 880 5 880 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 882 5 882 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 884 5 884 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 887 5 887 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 891 5 891 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 893 5 893 5
                          , SrcSpan "tests/examples/RealGHC.lhs" 915 1 915 0
                          ]
                      }
                    [ PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 876 5 876 25
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 876 5 876 11
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 876 5 876 11
                                , srcInfoPoints = []
                                }
                              "n_args"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 876 12 876 25
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 876 12 876 13 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 876 14 876 25
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 876 14 876 20
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 876 14 876 20
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 876 14 876 20
                                         , srcInfoPoints = []
                                         }
                                       "length")))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 876 21 876 25
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 876 21 876 25
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 876 21 876 25
                                         , srcInfoPoints = []
                                         }
                                       "args")))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 877 5 877 36
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 877 5 877 11
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 877 5 877 11
                                , srcInfoPoints = []
                                }
                              "i_args"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 877 12 877 36
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 877 12 877 13 ]
                             }
                           (InfixApp
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 877 14 877 36
                                , srcInfoPoints = []
                                }
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 877 14 877 18
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 877 14 877 18
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 877 14 877 18
                                         , srcInfoPoints = []
                                         }
                                       "args")))
                              (QVarOp
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 877 19 877 24
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 877 19 877 20
                                       , SrcSpan "tests/examples/RealGHC.lhs" 877 20 877 23
                                       , SrcSpan "tests/examples/RealGHC.lhs" 877 23 877 24
                                       ]
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 877 19 877 24
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 877 19 877 20
                                          , SrcSpan "tests/examples/RealGHC.lhs" 877 20 877 23
                                          , SrcSpan "tests/examples/RealGHC.lhs" 877 23 877 24
                                          ]
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 877 20 877 23
                                         , srcInfoPoints = []
                                         }
                                       "zip")))
                              (EnumFrom
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 877 25 877 36
                                   , srcInfoPoints =
                                       [ SrcSpan "tests/examples/RealGHC.lhs" 877 25 877 26
                                       , SrcSpan "tests/examples/RealGHC.lhs" 877 33 877 35
                                       , SrcSpan "tests/examples/RealGHC.lhs" 877 35 877 36
                                       ]
                                   }
                                 (ExpTypeSig
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 877 26 877 32
                                      , srcInfoPoints =
                                          [ SrcSpan "tests/examples/RealGHC.lhs" 877 27 877 29 ]
                                      }
                                    (Lit
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 877 26 877 27
                                         , srcInfoPoints = []
                                         }
                                       (Int
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 877 26 877 27
                                            , srcInfoPoints = []
                                            }
                                          1
                                          "1"))
                                    (TyCon
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 877 29 877 32
                                         , srcInfoPoints = []
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 877 29 877 32
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 877 29 877 32
                                               , srcInfoPoints = []
                                               }
                                             "Int")))))))
                        Nothing
                    , PatBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 878 5 878 39
                          , srcInfoPoints = []
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 878 5 878 15
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 878 5 878 15
                                , srcInfoPoints = []
                                }
                              "rough_args"))
                        (UnGuardedRhs
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 878 16 878 39
                             , srcInfoPoints =
                                 [ SrcSpan "tests/examples/RealGHC.lhs" 878 16 878 17 ]
                             }
                           (App
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 878 18 878 39
                                , srcInfoPoints = []
                                }
                              (App
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 878 18 878 34
                                   , srcInfoPoints = []
                                   }
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 878 18 878 21
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 878 18 878 21
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 878 18 878 21
                                            , srcInfoPoints = []
                                            }
                                          "map")))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 878 22 878 34
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 878 22 878 34
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 878 22 878 34
                                            , srcInfoPoints = []
                                            }
                                          "roughTopName"))))
                              (Var
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/RealGHC.lhs" 878 35 878 39
                                   , srcInfoPoints = []
                                   }
                                 (UnQual
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RealGHC.lhs" 878 35 878 39
                                      , srcInfoPoints = []
                                      }
                                    (Ident
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 878 35 878 39
                                         , srcInfoPoints = []
                                         }
                                       "args")))))
                        Nothing
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 880 5 880 67
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 880 5 880 67
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 880 5 880 15
                                 , srcInfoPoints = []
                                 }
                               "check_rule")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 880 16 880 20
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 880 16 880 20
                                     , srcInfoPoints = []
                                     }
                                   "rule")
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 880 21 880 67
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 880 21 880 22 ]
                                 }
                               (InfixApp
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 880 23 880 67
                                    , srcInfoPoints = []
                                    }
                                  (InfixApp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 880 23 880 48
                                       , srcInfoPoints = []
                                       }
                                     (App
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 880 23 880 39
                                          , srcInfoPoints = []
                                          }
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 880 23 880 34
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 880 23 880 34
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 880 23 880 34
                                                   , srcInfoPoints = []
                                                   }
                                                 "rule_herald")))
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 880 35 880 39
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 880 35 880 39
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 880 35 880 39
                                                   , srcInfoPoints = []
                                                   }
                                                 "rule"))))
                                     (QVarOp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 880 40 880 42
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 880 40 880 42
                                             , srcInfoPoints = []
                                             }
                                           (Symbol
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 880 40 880 42
                                                , srcInfoPoints = []
                                                }
                                              "<>")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 880 43 880 48
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 880 43 880 48
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 880 43 880 48
                                                , srcInfoPoints = []
                                                }
                                              "colon"))))
                                  (QVarOp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 880 49 880 52
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 880 49 880 52
                                          , srcInfoPoints = []
                                          }
                                        (Symbol
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 880 49 880 52
                                             , srcInfoPoints = []
                                             }
                                           "<+>")))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 880 53 880 67
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 880 53 880 62
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 880 53 880 62
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 880 53 880 62
                                                , srcInfoPoints = []
                                                }
                                              "rule_info")))
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 880 63 880 67
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 880 63 880 67
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 880 63 880 67
                                                , srcInfoPoints = []
                                                }
                                              "rule"))))))
                            Nothing
                        ]
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 882 5 885 60
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 882 5 883 68
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 882 5 882 16
                                 , srcInfoPoints = []
                                 }
                               "rule_herald")
                            [ PParen
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 882 17 882 49
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 882 17 882 18
                                      , SrcSpan "tests/examples/RealGHC.lhs" 882 48 882 49
                                      ]
                                  }
                                (PRec
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 882 18 882 48
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 882 30 882 31
                                         , SrcSpan "tests/examples/RealGHC.lhs" 882 47 882 48
                                         ]
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 882 18 882 29
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 882 18 882 29
                                           , srcInfoPoints = []
                                           }
                                         "BuiltinRule"))
                                   [ PFieldPat
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 882 32 882 46
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 882 40 882 41 ]
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 882 32 882 39
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 882 32 882 39
                                               , srcInfoPoints = []
                                               }
                                             "ru_name"))
                                       (PVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 882 42 882 46
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 882 42 882 46
                                               , srcInfoPoints = []
                                               }
                                             "name"))
                                   ])
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 883 9 883 68
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 883 9 883 10 ]
                                 }
                               (InfixApp
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 883 11 883 68
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 883 11 883 38
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 883 11 883 16
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 883 11 883 16
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 883 11 883 16
                                                , srcInfoPoints = []
                                                }
                                              "ptext")))
                                     (Paren
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 883 17 883 38
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 883 17 883 18
                                              , SrcSpan "tests/examples/RealGHC.lhs" 883 37 883 38
                                              ]
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 883 18 883 37
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 883 18 883 22
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 883 18 883 22
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            883
                                                            18
                                                            883
                                                            22
                                                      , srcInfoPoints = []
                                                      }
                                                    "sLit")))
                                           (Lit
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 883 23 883 37
                                                , srcInfoPoints = []
                                                }
                                              (String
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 883 23 883 37
                                                   , srcInfoPoints = []
                                                   }
                                                 "Builtin rule"
                                                 "Builtin rule")))))
                                  (QVarOp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 883 39 883 42
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 883 39 883 42
                                          , srcInfoPoints = []
                                          }
                                        (Symbol
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 883 39 883 42
                                             , srcInfoPoints = []
                                             }
                                           "<+>")))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 883 43 883 68
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 883 43 883 55
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 883 43 883 55
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 883 43 883 55
                                                , srcInfoPoints = []
                                                }
                                              "doubleQuotes")))
                                     (Paren
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 883 56 883 68
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 883 56 883 57
                                              , SrcSpan "tests/examples/RealGHC.lhs" 883 67 883 68
                                              ]
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 883 57 883 67
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 883 57 883 62
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 883 57 883 62
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            883
                                                            57
                                                            883
                                                            62
                                                      , srcInfoPoints = []
                                                      }
                                                    "ftext")))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 883 63 883 67
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 883 63 883 67
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            883
                                                            63
                                                            883
                                                            67
                                                      , srcInfoPoints = []
                                                      }
                                                    "name"))))))))
                            Nothing
                        , Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 884 5 885 60
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 884 5 884 16
                                 , srcInfoPoints = []
                                 }
                               "rule_herald")
                            [ PParen
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 884 17 884 42
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 884 17 884 18
                                      , SrcSpan "tests/examples/RealGHC.lhs" 884 41 884 42
                                      ]
                                  }
                                (PRec
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 884 18 884 41
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 884 23 884 24
                                         , SrcSpan "tests/examples/RealGHC.lhs" 884 40 884 41
                                         ]
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 884 18 884 22
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 884 18 884 22
                                           , srcInfoPoints = []
                                           }
                                         "Rule"))
                                   [ PFieldPat
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 884 25 884 39
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 884 33 884 34 ]
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 884 25 884 32
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 884 25 884 32
                                               , srcInfoPoints = []
                                               }
                                             "ru_name"))
                                       (PVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 884 35 884 39
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 884 35 884 39
                                               , srcInfoPoints = []
                                               }
                                             "name"))
                                   ])
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 885 9 885 60
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 885 9 885 10 ]
                                 }
                               (InfixApp
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 885 11 885 60
                                    , srcInfoPoints = []
                                    }
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 885 11 885 30
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 885 11 885 16
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 885 11 885 16
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 885 11 885 16
                                                , srcInfoPoints = []
                                                }
                                              "ptext")))
                                     (Paren
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 885 17 885 30
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 885 17 885 18
                                              , SrcSpan "tests/examples/RealGHC.lhs" 885 29 885 30
                                              ]
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 885 18 885 29
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 885 18 885 22
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 885 18 885 22
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            885
                                                            18
                                                            885
                                                            22
                                                      , srcInfoPoints = []
                                                      }
                                                    "sLit")))
                                           (Lit
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 885 23 885 29
                                                , srcInfoPoints = []
                                                }
                                              (String
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 885 23 885 29
                                                   , srcInfoPoints = []
                                                   }
                                                 "Rule"
                                                 "Rule")))))
                                  (QVarOp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 885 31 885 34
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 885 31 885 34
                                          , srcInfoPoints = []
                                          }
                                        (Symbol
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 885 31 885 34
                                             , srcInfoPoints = []
                                             }
                                           "<+>")))
                                  (App
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 885 35 885 60
                                       , srcInfoPoints = []
                                       }
                                     (Var
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 885 35 885 47
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 885 35 885 47
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 885 35 885 47
                                                , srcInfoPoints = []
                                                }
                                              "doubleQuotes")))
                                     (Paren
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 885 48 885 60
                                          , srcInfoPoints =
                                              [ SrcSpan "tests/examples/RealGHC.lhs" 885 48 885 49
                                              , SrcSpan "tests/examples/RealGHC.lhs" 885 59 885 60
                                              ]
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 885 49 885 59
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 885 49 885 54
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 885 49 885 54
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            885
                                                            49
                                                            885
                                                            54
                                                      , srcInfoPoints = []
                                                      }
                                                    "ftext")))
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 885 55 885 59
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 885 55 885 59
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            885
                                                            55
                                                            885
                                                            59
                                                      , srcInfoPoints = []
                                                      }
                                                    "name"))))))))
                            Nothing
                        ]
                    , FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 887 5 911 59
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 887 5 889 55
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 887 5 887 14
                                 , srcInfoPoints = []
                                 }
                               "rule_info")
                            [ PVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 887 15 887 19
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 887 15 887 19
                                     , srcInfoPoints = []
                                     }
                                   "rule")
                            ]
                            (GuardedRhss
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 888 9 889 55
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 888 9 888 10
                                     , SrcSpan "tests/examples/RealGHC.lhs" 889 13 889 14
                                     ]
                                 }
                               [ GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 888 9 889 55
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 888 9 888 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 889 13 889 14
                                         ]
                                     }
                                   [ Generator
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 888 11 888 79
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 888 18 888 20 ]
                                         }
                                       (PApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 888 11 888 17
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 888 11 888 15
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 888 11 888 15
                                                  , srcInfoPoints = []
                                                  }
                                                "Just"))
                                          [ PWildCard
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 888 16 888 17
                                                , srcInfoPoints = []
                                                }
                                          ])
                                       (App
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 888 21 888 79
                                            , srcInfoPoints = []
                                            }
                                          (App
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 888 21 888 74
                                               , srcInfoPoints = []
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 888 21 888 63
                                                  , srcInfoPoints = []
                                                  }
                                                (App
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           888
                                                           21
                                                           888
                                                           58
                                                     , srcInfoPoints = []
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              888
                                                              21
                                                              888
                                                              42
                                                        , srcInfoPoints = []
                                                        }
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 888
                                                                 21
                                                                 888
                                                                 30
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    888
                                                                    21
                                                                    888
                                                                    30
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       888
                                                                       21
                                                                       888
                                                                       30
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "matchRule")))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 888
                                                                 31
                                                                 888
                                                                 42
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    888
                                                                    31
                                                                    888
                                                                    42
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       888
                                                                       31
                                                                       888
                                                                       42
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "noBlackList"))))
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              888
                                                              43
                                                              888
                                                              58
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 888
                                                                 43
                                                                 888
                                                                 58
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    888
                                                                    43
                                                                    888
                                                                    58
                                                              , srcInfoPoints = []
                                                              }
                                                            "emptyInScopeSet"))))
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           888
                                                           59
                                                           888
                                                           63
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              888
                                                              59
                                                              888
                                                              63
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 888
                                                                 59
                                                                 888
                                                                 63
                                                           , srcInfoPoints = []
                                                           }
                                                         "args"))))
                                             (Var
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 888 64 888 74
                                                  , srcInfoPoints = []
                                                  }
                                                (UnQual
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           888
                                                           64
                                                           888
                                                           74
                                                     , srcInfoPoints = []
                                                     }
                                                   (Ident
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              888
                                                              64
                                                              888
                                                              74
                                                        , srcInfoPoints = []
                                                        }
                                                      "rough_args"))))
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 888 75 888 79
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 888 75 888 79
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           888
                                                           75
                                                           888
                                                           79
                                                     , srcInfoPoints = []
                                                     }
                                                   "rule"))))
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 889 15 889 55
                                        , srcInfoPoints = []
                                        }
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 889 15 889 19
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 889 15 889 19
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 889 15 889 19
                                                 , srcInfoPoints = []
                                                 }
                                               "text")))
                                      (Lit
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 889 20 889 55
                                           , srcInfoPoints = []
                                           }
                                         (String
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 889 20 889 55
                                              , srcInfoPoints = []
                                              }
                                            "matches (which is very peculiar!)"
                                            "matches (which is very peculiar!)")))
                               ])
                            Nothing
                        , Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 891 5 891 55
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 891 5 891 14
                                 , srcInfoPoints = []
                                 }
                               "rule_info")
                            [ PParen
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 891 15 891 31
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 891 15 891 16
                                      , SrcSpan "tests/examples/RealGHC.lhs" 891 30 891 31
                                      ]
                                  }
                                (PRec
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 891 16 891 30
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 891 28 891 29
                                         , SrcSpan "tests/examples/RealGHC.lhs" 891 29 891 30
                                         ]
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 891 16 891 27
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 891 16 891 27
                                           , srcInfoPoints = []
                                           }
                                         "BuiltinRule"))
                                   [])
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 891 32 891 55
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/RealGHC.lhs" 891 32 891 33 ]
                                 }
                               (App
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 891 34 891 55
                                    , srcInfoPoints = []
                                    }
                                  (Var
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 891 34 891 38
                                       , srcInfoPoints = []
                                       }
                                     (UnQual
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 891 34 891 38
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan "tests/examples/RealGHC.lhs" 891 34 891 38
                                             , srcInfoPoints = []
                                             }
                                           "text")))
                                  (Lit
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/RealGHC.lhs" 891 39 891 55
                                       , srcInfoPoints = []
                                       }
                                     (String
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/RealGHC.lhs" 891 39 891 55
                                          , srcInfoPoints = []
                                          }
                                        "does not match"
                                        "does not match"))))
                            Nothing
                        , Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 893 5 911 59
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/RealGHC.lhs" 900 9 900 14 ]
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 893 5 893 14
                                 , srcInfoPoints = []
                                 }
                               "rule_info")
                            [ PParen
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 893 15 894 67
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RealGHC.lhs" 893 15 893 16
                                      , SrcSpan "tests/examples/RealGHC.lhs" 894 66 894 67
                                      ]
                                  }
                                (PRec
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 893 16 894 66
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 893 21 893 22
                                         , SrcSpan "tests/examples/RealGHC.lhs" 893 37 893 38
                                         , SrcSpan "tests/examples/RealGHC.lhs" 893 51 893 52
                                         , SrcSpan "tests/examples/RealGHC.lhs" 894 44 894 45
                                         , SrcSpan "tests/examples/RealGHC.lhs" 894 65 894 66
                                         ]
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 893 16 893 20
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 893 16 893 20
                                           , srcInfoPoints = []
                                           }
                                         "Rule"))
                                   [ PFieldPat
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 893 23 893 37
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 893 31 893 32 ]
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 893 23 893 30
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 893 23 893 30
                                               , srcInfoPoints = []
                                               }
                                             "ru_name"))
                                       (PVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 893 33 893 37
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 893 33 893 37
                                               , srcInfoPoints = []
                                               }
                                             "name"))
                                   , PFieldPat
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 893 39 893 51
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 893 46 893 47 ]
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 893 39 893 45
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 893 39 893 45
                                               , srcInfoPoints = []
                                               }
                                             "ru_act"))
                                       (PVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 893 48 893 51
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 893 48 893 51
                                               , srcInfoPoints = []
                                               }
                                             "act"))
                                   , PFieldPat
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 894 23 894 44
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 894 32 894 33 ]
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 894 23 894 31
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 894 23 894 31
                                               , srcInfoPoints = []
                                               }
                                             "ru_bndrs"))
                                       (PVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 894 34 894 44
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 894 34 894 44
                                               , srcInfoPoints = []
                                               }
                                             "rule_bndrs"))
                                   , PFieldPat
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 894 46 894 65
                                         , srcInfoPoints =
                                             [ SrcSpan "tests/examples/RealGHC.lhs" 894 54 894 55 ]
                                         }
                                       (UnQual
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 894 46 894 53
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 894 46 894 53
                                               , srcInfoPoints = []
                                               }
                                             "ru_args"))
                                       (PVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 894 56 894 65
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 894 56 894 65
                                               , srcInfoPoints = []
                                               }
                                             "rule_args"))
                                   ])
                            ]
                            (GuardedRhss
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RealGHC.lhs" 895 9 899 105
                                 , srcInfoPoints = []
                                 }
                               [ GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 895 9 895 69
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 895 9 895 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 895 34 895 35
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 895 11 895 30
                                         , srcInfoPoints = []
                                         }
                                       (App
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 895 11 895 30
                                            , srcInfoPoints = []
                                            }
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 895 11 895 14
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 895 11 895 14
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           895
                                                           11
                                                           895
                                                           14
                                                     , srcInfoPoints = []
                                                     }
                                                   "not")))
                                          (Paren
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 895 15 895 30
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 895 15 895 16
                                                   , SrcSpan
                                                       "tests/examples/RealGHC.lhs" 895 29 895 30
                                                   ]
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 895 16 895 29
                                                  , srcInfoPoints = []
                                                  }
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           895
                                                           16
                                                           895
                                                           25
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              895
                                                              16
                                                              895
                                                              25
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 895
                                                                 16
                                                                 895
                                                                 25
                                                           , srcInfoPoints = []
                                                           }
                                                         "is_active")))
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           895
                                                           26
                                                           895
                                                           29
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              895
                                                              26
                                                              895
                                                              29
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 895
                                                                 26
                                                                 895
                                                                 29
                                                           , srcInfoPoints = []
                                                           }
                                                         "act"))))))
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 895 36 895 69
                                        , srcInfoPoints = []
                                        }
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 895 36 895 40
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 895 36 895 40
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 895 36 895 40
                                                 , srcInfoPoints = []
                                                 }
                                               "text")))
                                      (Lit
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 895 41 895 69
                                           , srcInfoPoints = []
                                           }
                                         (String
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 895 41 895 69
                                              , srcInfoPoints = []
                                              }
                                            "active only in later phase"
                                            "active only in later phase")))
                               , GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 896 9 896 65
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 896 9 896 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 896 39 896 40
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 896 11 896 31
                                         , srcInfoPoints = []
                                         }
                                       (InfixApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 896 11 896 31
                                            , srcInfoPoints = []
                                            }
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 896 11 896 17
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 896 11 896 17
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           896
                                                           11
                                                           896
                                                           17
                                                     , srcInfoPoints = []
                                                     }
                                                   "n_args")))
                                          (QVarOp
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 896 18 896 19
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 896 18 896 19
                                                  , srcInfoPoints = []
                                                  }
                                                (Symbol
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           896
                                                           18
                                                           896
                                                           19
                                                     , srcInfoPoints = []
                                                     }
                                                   "<")))
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 896 20 896 31
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 896 20 896 31
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           896
                                                           20
                                                           896
                                                           31
                                                     , srcInfoPoints = []
                                                     }
                                                   "n_rule_args"))))
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 896 41 896 65
                                        , srcInfoPoints = []
                                        }
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 896 41 896 45
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 896 41 896 45
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 896 41 896 45
                                                 , srcInfoPoints = []
                                                 }
                                               "text")))
                                      (Lit
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 896 46 896 65
                                           , srcInfoPoints = []
                                           }
                                         (String
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 896 46 896 65
                                              , srcInfoPoints = []
                                              }
                                            "too few arguments"
                                            "too few arguments")))
                               , GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 897 9 897 66
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 897 9 897 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 897 39 897 40
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 897 11 897 38
                                         , srcInfoPoints = []
                                         }
                                       (InfixApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 897 11 897 38
                                            , srcInfoPoints = []
                                            }
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 897 11 897 23
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 897 11 897 23
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           897
                                                           11
                                                           897
                                                           23
                                                     , srcInfoPoints = []
                                                     }
                                                   "n_mismatches")))
                                          (QVarOp
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 897 24 897 26
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 897 24 897 26
                                                  , srcInfoPoints = []
                                                  }
                                                (Symbol
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           897
                                                           24
                                                           897
                                                           26
                                                     , srcInfoPoints = []
                                                     }
                                                   "==")))
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 897 27 897 38
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 897 27 897 38
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           897
                                                           27
                                                           897
                                                           38
                                                     , srcInfoPoints = []
                                                     }
                                                   "n_rule_args"))))
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 897 41 897 66
                                        , srcInfoPoints = []
                                        }
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 897 41 897 45
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 897 41 897 45
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 897 41 897 45
                                                 , srcInfoPoints = []
                                                 }
                                               "text")))
                                      (Lit
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 897 46 897 66
                                           , srcInfoPoints = []
                                           }
                                         (String
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 897 46 897 66
                                              , srcInfoPoints = []
                                              }
                                            "no arguments match"
                                            "no arguments match")))
                               , GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 898 9 898 119
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 898 9 898 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 898 35 898 36
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 898 11 898 28
                                         , srcInfoPoints = []
                                         }
                                       (InfixApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 898 11 898 28
                                            , srcInfoPoints = []
                                            }
                                          (Var
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 898 11 898 23
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 898 11 898 23
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           898
                                                           11
                                                           898
                                                           23
                                                     , srcInfoPoints = []
                                                     }
                                                   "n_mismatches")))
                                          (QVarOp
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 898 24 898 26
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 898 24 898 26
                                                  , srcInfoPoints = []
                                                  }
                                                (Symbol
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           898
                                                           24
                                                           898
                                                           26
                                                     , srcInfoPoints = []
                                                     }
                                                   "==")))
                                          (Lit
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 898 27 898 28
                                               , srcInfoPoints = []
                                               }
                                             (Int
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 898 27 898 28
                                                  , srcInfoPoints = []
                                                  }
                                                0
                                                "0")))
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 898 37 898 119
                                        , srcInfoPoints = []
                                        }
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 898 37 898 41
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 898 37 898 41
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 898 37 898 41
                                                 , srcInfoPoints = []
                                                 }
                                               "text")))
                                      (Lit
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 898 42 898 119
                                           , srcInfoPoints = []
                                           }
                                         (String
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/RealGHC.lhs" 898 42 898 119
                                              , srcInfoPoints = []
                                              }
                                            "all arguments match (considered individually), but rule as a whole does not"
                                            "all arguments match (considered individually), but rule as a whole does not")))
                               , GuardedRhs
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RealGHC.lhs" 899 9 899 105
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RealGHC.lhs" 899 9 899 10
                                         , SrcSpan "tests/examples/RealGHC.lhs" 899 31 899 32
                                         ]
                                     }
                                   [ Qualifier
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RealGHC.lhs" 899 11 899 20
                                         , srcInfoPoints = []
                                         }
                                       (Var
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 899 11 899 20
                                            , srcInfoPoints = []
                                            }
                                          (UnQual
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 899 11 899 20
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 899 11 899 20
                                                  , srcInfoPoints = []
                                                  }
                                                "otherwise")))
                                   ]
                                   (InfixApp
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 899 33 899 105
                                        , srcInfoPoints = []
                                        }
                                      (InfixApp
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 899 33 899 68
                                           , srcInfoPoints = []
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 899 33 899 49
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 33 899 37
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 899 33 899 37
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             899
                                                             33
                                                             899
                                                             37
                                                       , srcInfoPoints = []
                                                       }
                                                     "text")))
                                            (Lit
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 38 899 49
                                                 , srcInfoPoints = []
                                                 }
                                               (String
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 899 38 899 49
                                                    , srcInfoPoints = []
                                                    }
                                                  "arguments"
                                                  "arguments")))
                                         (QVarOp
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 899 50 899 53
                                              , srcInfoPoints = []
                                              }
                                            (UnQual
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 50 899 53
                                                 , srcInfoPoints = []
                                                 }
                                               (Symbol
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 899 50 899 53
                                                    , srcInfoPoints = []
                                                    }
                                                  "<+>")))
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 899 54 899 68
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 54 899 57
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 899 54 899 57
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             899
                                                             54
                                                             899
                                                             57
                                                       , srcInfoPoints = []
                                                       }
                                                     "ppr")))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 58 899 68
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 899 58 899 68
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             899
                                                             58
                                                             899
                                                             68
                                                       , srcInfoPoints = []
                                                       }
                                                     "mismatches")))))
                                      (QVarOp
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 899 69 899 72
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 899 69 899 72
                                              , srcInfoPoints = []
                                              }
                                            (Symbol
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 69 899 72
                                                 , srcInfoPoints = []
                                                 }
                                               "<+>")))
                                      (App
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 899 73 899 105
                                           , srcInfoPoints = []
                                           }
                                         (Var
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 899 73 899 77
                                              , srcInfoPoints = []
                                              }
                                            (UnQual
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 73 899 77
                                                 , srcInfoPoints = []
                                                 }
                                               (Ident
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 899 73 899 77
                                                    , srcInfoPoints = []
                                                    }
                                                  "text")))
                                         (Lit
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/RealGHC.lhs" 899 78 899 105
                                              , srcInfoPoints = []
                                              }
                                            (String
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 899 78 899 105
                                                 , srcInfoPoints = []
                                                 }
                                               "do not match (1-indexing)"
                                               "do not match (1-indexing)"))))
                               ])
                            (Just
                               (BDecls
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/RealGHC.lhs" 901 11 911 59
                                    , srcInfoPoints =
                                        [ SrcSpan "tests/examples/RealGHC.lhs" 901 11 901 11
                                        , SrcSpan "tests/examples/RealGHC.lhs" 902 11 902 11
                                        , SrcSpan "tests/examples/RealGHC.lhs" 903 11 903 11
                                        , SrcSpan "tests/examples/RealGHC.lhs" 906 11 906 11
                                        , SrcSpan "tests/examples/RealGHC.lhs" 907 11 907 11
                                        , SrcSpan "tests/examples/RealGHC.lhs" 915 1 915 0
                                        ]
                                    }
                                  [ PatBind
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 901 11 901 42
                                        , srcInfoPoints = []
                                        }
                                      (PVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 901 11 901 22
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 901 11 901 22
                                              , srcInfoPoints = []
                                              }
                                            "n_rule_args"))
                                      (UnGuardedRhs
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 901 24 901 42
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 901 24 901 25
                                               ]
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 901 26 901 42
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 901 26 901 32
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 901 26 901 32
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             901
                                                             26
                                                             901
                                                             32
                                                       , srcInfoPoints = []
                                                       }
                                                     "length")))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 901 33 901 42
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 901 33 901 42
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             901
                                                             33
                                                             901
                                                             42
                                                       , srcInfoPoints = []
                                                       }
                                                     "rule_args")))))
                                      Nothing
                                  , PatBind
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 902 11 902 43
                                        , srcInfoPoints = []
                                        }
                                      (PVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 902 11 902 23
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 902 11 902 23
                                              , srcInfoPoints = []
                                              }
                                            "n_mismatches"))
                                      (UnGuardedRhs
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 902 24 902 43
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 902 24 902 25
                                               ]
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 902 26 902 43
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 902 26 902 32
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 902 26 902 32
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             902
                                                             26
                                                             902
                                                             32
                                                       , srcInfoPoints = []
                                                       }
                                                     "length")))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 902 33 902 43
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 902 33 902 43
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             902
                                                             33
                                                             902
                                                             43
                                                       , srcInfoPoints = []
                                                       }
                                                     "mismatches")))))
                                      Nothing
                                  , PatBind
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 903 11 904 72
                                        , srcInfoPoints = []
                                        }
                                      (PVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 903 11 903 21
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 903 11 903 21
                                              , srcInfoPoints = []
                                              }
                                            "mismatches"))
                                      (UnGuardedRhs
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 903 24 904 72
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 903 24 903 25
                                               ]
                                           }
                                         (ListComp
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 903 26 904 72
                                              , srcInfoPoints =
                                                  [ SrcSpan
                                                      "tests/examples/RealGHC.lhs" 903 26 903 27
                                                  , SrcSpan
                                                      "tests/examples/RealGHC.lhs" 903 29 903 30
                                                  , SrcSpan
                                                      "tests/examples/RealGHC.lhs" 903 76 903 77
                                                  , SrcSpan
                                                      "tests/examples/RealGHC.lhs" 904 71 904 72
                                                  ]
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 903 27 903 28
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 903 27 903 28
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             903
                                                             27
                                                             903
                                                             28
                                                       , srcInfoPoints = []
                                                       }
                                                     "i")))
                                            [ QualStmt
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 903 31 903 76
                                                  , srcInfoPoints =
                                                      [ SrcSpan
                                                          "tests/examples/RealGHC.lhs" 903 51 903 53
                                                      ]
                                                  }
                                                (Generator
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           903
                                                           31
                                                           903
                                                           76
                                                     , srcInfoPoints =
                                                         [ SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             903
                                                             51
                                                             903
                                                             53
                                                         ]
                                                     }
                                                   (PTuple
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              903
                                                              31
                                                              903
                                                              50
                                                        , srcInfoPoints =
                                                            [ SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                903
                                                                31
                                                                903
                                                                32
                                                            , SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                903
                                                                40
                                                                903
                                                                41
                                                            , SrcSpan
                                                                "tests/examples/RealGHC.lhs"
                                                                903
                                                                49
                                                                903
                                                                50
                                                            ]
                                                        }
                                                      Boxed
                                                      [ PVar
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  903
                                                                  32
                                                                  903
                                                                  40
                                                            , srcInfoPoints = []
                                                            }
                                                          (Ident
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     903
                                                                     32
                                                                     903
                                                                     40
                                                               , srcInfoPoints = []
                                                               }
                                                             "rule_arg")
                                                      , PTuple
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  903
                                                                  42
                                                                  903
                                                                  49
                                                            , srcInfoPoints =
                                                                [ SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    903
                                                                    42
                                                                    903
                                                                    43
                                                                , SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    903
                                                                    46
                                                                    903
                                                                    47
                                                                , SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    903
                                                                    48
                                                                    903
                                                                    49
                                                                ]
                                                            }
                                                          Boxed
                                                          [ PVar
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      903
                                                                      43
                                                                      903
                                                                      46
                                                                , srcInfoPoints = []
                                                                }
                                                              (Ident
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         903
                                                                         43
                                                                         903
                                                                         46
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 "arg")
                                                          , PVar
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      903
                                                                      47
                                                                      903
                                                                      48
                                                                , srcInfoPoints = []
                                                                }
                                                              (Ident
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         903
                                                                         47
                                                                         903
                                                                         48
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 "i")
                                                          ]
                                                      ])
                                                   (InfixApp
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              903
                                                              54
                                                              903
                                                              76
                                                        , srcInfoPoints = []
                                                        }
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 903
                                                                 54
                                                                 903
                                                                 63
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    903
                                                                    54
                                                                    903
                                                                    63
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       903
                                                                       54
                                                                       903
                                                                       63
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "rule_args")))
                                                      (QVarOp
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 903
                                                                 64
                                                                 903
                                                                 69
                                                           , srcInfoPoints =
                                                               [ SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   903
                                                                   64
                                                                   903
                                                                   65
                                                               , SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   903
                                                                   65
                                                                   903
                                                                   68
                                                               , SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   903
                                                                   68
                                                                   903
                                                                   69
                                                               ]
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    903
                                                                    64
                                                                    903
                                                                    69
                                                              , srcInfoPoints =
                                                                  [ SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      903
                                                                      64
                                                                      903
                                                                      65
                                                                  , SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      903
                                                                      65
                                                                      903
                                                                      68
                                                                  , SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      903
                                                                      68
                                                                      903
                                                                      69
                                                                  ]
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       903
                                                                       65
                                                                       903
                                                                       68
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "zip")))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 903
                                                                 70
                                                                 903
                                                                 76
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    903
                                                                    70
                                                                    903
                                                                    76
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       903
                                                                       70
                                                                       903
                                                                       76
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "i_args")))))
                                            , QualStmt
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 904 35 904 71
                                                  , srcInfoPoints = []
                                                  }
                                                (Qualifier
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           904
                                                           35
                                                           904
                                                           71
                                                     , srcInfoPoints = []
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              904
                                                              35
                                                              904
                                                              71
                                                        , srcInfoPoints = []
                                                        }
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 904
                                                                 35
                                                                 904
                                                                 38
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    904
                                                                    35
                                                                    904
                                                                    38
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       904
                                                                       35
                                                                       904
                                                                       38
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "not")))
                                                      (Paren
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 904
                                                                 39
                                                                 904
                                                                 71
                                                           , srcInfoPoints =
                                                               [ SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   904
                                                                   39
                                                                   904
                                                                   40
                                                               , SrcSpan
                                                                   "tests/examples/RealGHC.lhs"
                                                                   904
                                                                   70
                                                                   904
                                                                   71
                                                               ]
                                                           }
                                                         (App
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    904
                                                                    40
                                                                    904
                                                                    70
                                                              , srcInfoPoints = []
                                                              }
                                                            (Var
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       904
                                                                       40
                                                                       904
                                                                       46
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (UnQual
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          904
                                                                          40
                                                                          904
                                                                          46
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  (Ident
                                                                     SrcSpanInfo
                                                                       { srcInfoSpan =
                                                                           SrcSpan
                                                                             "tests/examples/RealGHC.lhs"
                                                                             904
                                                                             40
                                                                             904
                                                                             46
                                                                       , srcInfoPoints = []
                                                                       }
                                                                     "isJust")))
                                                            (Paren
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       904
                                                                       47
                                                                       904
                                                                       70
                                                                 , srcInfoPoints =
                                                                     [ SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         904
                                                                         47
                                                                         904
                                                                         48
                                                                     , SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         904
                                                                         69
                                                                         904
                                                                         70
                                                                     ]
                                                                 }
                                                               (App
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          904
                                                                          48
                                                                          904
                                                                          69
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  (App
                                                                     SrcSpanInfo
                                                                       { srcInfoSpan =
                                                                           SrcSpan
                                                                             "tests/examples/RealGHC.lhs"
                                                                             904
                                                                             48
                                                                             904
                                                                             65
                                                                       , srcInfoPoints = []
                                                                       }
                                                                     (Var
                                                                        SrcSpanInfo
                                                                          { srcInfoSpan =
                                                                              SrcSpan
                                                                                "tests/examples/RealGHC.lhs"
                                                                                904
                                                                                48
                                                                                904
                                                                                56
                                                                          , srcInfoPoints = []
                                                                          }
                                                                        (UnQual
                                                                           SrcSpanInfo
                                                                             { srcInfoSpan =
                                                                                 SrcSpan
                                                                                   "tests/examples/RealGHC.lhs"
                                                                                   904
                                                                                   48
                                                                                   904
                                                                                   56
                                                                             , srcInfoPoints = []
                                                                             }
                                                                           (Ident
                                                                              SrcSpanInfo
                                                                                { srcInfoSpan =
                                                                                    SrcSpan
                                                                                      "tests/examples/RealGHC.lhs"
                                                                                      904
                                                                                      48
                                                                                      904
                                                                                      56
                                                                                , srcInfoPoints = []
                                                                                }
                                                                              "match_fn")))
                                                                     (Var
                                                                        SrcSpanInfo
                                                                          { srcInfoSpan =
                                                                              SrcSpan
                                                                                "tests/examples/RealGHC.lhs"
                                                                                904
                                                                                57
                                                                                904
                                                                                65
                                                                          , srcInfoPoints = []
                                                                          }
                                                                        (UnQual
                                                                           SrcSpanInfo
                                                                             { srcInfoSpan =
                                                                                 SrcSpan
                                                                                   "tests/examples/RealGHC.lhs"
                                                                                   904
                                                                                   57
                                                                                   904
                                                                                   65
                                                                             , srcInfoPoints = []
                                                                             }
                                                                           (Ident
                                                                              SrcSpanInfo
                                                                                { srcInfoSpan =
                                                                                    SrcSpan
                                                                                      "tests/examples/RealGHC.lhs"
                                                                                      904
                                                                                      57
                                                                                      904
                                                                                      65
                                                                                , srcInfoPoints = []
                                                                                }
                                                                              "rule_arg"))))
                                                                  (Var
                                                                     SrcSpanInfo
                                                                       { srcInfoSpan =
                                                                           SrcSpan
                                                                             "tests/examples/RealGHC.lhs"
                                                                             904
                                                                             66
                                                                             904
                                                                             69
                                                                       , srcInfoPoints = []
                                                                       }
                                                                     (UnQual
                                                                        SrcSpanInfo
                                                                          { srcInfoSpan =
                                                                              SrcSpan
                                                                                "tests/examples/RealGHC.lhs"
                                                                                904
                                                                                66
                                                                                904
                                                                                69
                                                                          , srcInfoPoints = []
                                                                          }
                                                                        (Ident
                                                                           SrcSpanInfo
                                                                             { srcInfoSpan =
                                                                                 SrcSpan
                                                                                   "tests/examples/RealGHC.lhs"
                                                                                   904
                                                                                   66
                                                                                   904
                                                                                   69
                                                                             , srcInfoPoints = []
                                                                             }
                                                                           "arg")))))))))
                                            ]))
                                      Nothing
                                  , PatBind
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 906 11 906 44
                                        , srcInfoPoints = []
                                        }
                                      (PVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 906 11 906 18
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 906 11 906 18
                                              , srcInfoPoints = []
                                              }
                                            "lhs_fvs"))
                                      (UnGuardedRhs
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RealGHC.lhs" 906 19 906 44
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RealGHC.lhs" 906 19 906 20
                                               ]
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RealGHC.lhs" 906 21 906 44
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 906 21 906 34
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 906 21 906 34
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             906
                                                             21
                                                             906
                                                             34
                                                       , srcInfoPoints = []
                                                       }
                                                     "exprsFreeVars")))
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RealGHC.lhs" 906 35 906 44
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RealGHC.lhs" 906 35 906 44
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/RealGHC.lhs"
                                                             906
                                                             35
                                                             906
                                                             44
                                                       , srcInfoPoints = []
                                                       }
                                                     "rule_args")))))
                                      Nothing
                                  , FunBind
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RealGHC.lhs" 907 11 911 59
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RealGHC.lhs" 908 13 908 18 ]
                                        }
                                      [ Match
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RealGHC.lhs" 907 11 911 59
                                            , srcInfoPoints =
                                                [ SrcSpan "tests/examples/RealGHC.lhs" 908 13 908 18
                                                ]
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 907 11 907 19
                                               , srcInfoPoints = []
                                               }
                                             "match_fn")
                                          [ PVar
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 907 20 907 28
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 907 20 907 28
                                                   , srcInfoPoints = []
                                                   }
                                                 "rule_arg")
                                          , PVar
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/RealGHC.lhs" 907 29 907 32
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/RealGHC.lhs" 907 29 907 32
                                                   , srcInfoPoints = []
                                                   }
                                                 "arg")
                                          ]
                                          (UnGuardedRhs
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan
                                                     "tests/examples/RealGHC.lhs" 907 33 907 72
                                               , srcInfoPoints =
                                                   [ SrcSpan
                                                       "tests/examples/RealGHC.lhs" 907 33 907 34
                                                   ]
                                               }
                                             (App
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 907 35 907 72
                                                  , srcInfoPoints = []
                                                  }
                                                (App
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           907
                                                           35
                                                           907
                                                           68
                                                     , srcInfoPoints = []
                                                     }
                                                   (App
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              907
                                                              35
                                                              907
                                                              59
                                                        , srcInfoPoints = []
                                                        }
                                                      (App
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 907
                                                                 35
                                                                 907
                                                                 45
                                                           , srcInfoPoints = []
                                                           }
                                                         (Var
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    907
                                                                    35
                                                                    907
                                                                    40
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       907
                                                                       35
                                                                       907
                                                                       40
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          907
                                                                          35
                                                                          907
                                                                          40
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "match")))
                                                         (Var
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    907
                                                                    41
                                                                    907
                                                                    45
                                                              , srcInfoPoints = []
                                                              }
                                                            (UnQual
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       907
                                                                       41
                                                                       907
                                                                       45
                                                                 , srcInfoPoints = []
                                                                 }
                                                               (Ident
                                                                  SrcSpanInfo
                                                                    { srcInfoSpan =
                                                                        SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          907
                                                                          41
                                                                          907
                                                                          45
                                                                    , srcInfoPoints = []
                                                                    }
                                                                  "menv"))))
                                                      (Var
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 907
                                                                 46
                                                                 907
                                                                 59
                                                           , srcInfoPoints = []
                                                           }
                                                         (UnQual
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    907
                                                                    46
                                                                    907
                                                                    59
                                                              , srcInfoPoints = []
                                                              }
                                                            (Ident
                                                               SrcSpanInfo
                                                                 { srcInfoSpan =
                                                                     SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       907
                                                                       46
                                                                       907
                                                                       59
                                                                 , srcInfoPoints = []
                                                                 }
                                                               "emptySubstEnv"))))
                                                   (Var
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              907
                                                              60
                                                              907
                                                              68
                                                        , srcInfoPoints = []
                                                        }
                                                      (UnQual
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 907
                                                                 60
                                                                 907
                                                                 68
                                                           , srcInfoPoints = []
                                                           }
                                                         (Ident
                                                            SrcSpanInfo
                                                              { srcInfoSpan =
                                                                  SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    907
                                                                    60
                                                                    907
                                                                    68
                                                              , srcInfoPoints = []
                                                              }
                                                            "rule_arg"))))
                                                (Var
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RealGHC.lhs"
                                                           907
                                                           69
                                                           907
                                                           72
                                                     , srcInfoPoints = []
                                                     }
                                                   (UnQual
                                                      SrcSpanInfo
                                                        { srcInfoSpan =
                                                            SrcSpan
                                                              "tests/examples/RealGHC.lhs"
                                                              907
                                                              69
                                                              907
                                                              72
                                                        , srcInfoPoints = []
                                                        }
                                                      (Ident
                                                         SrcSpanInfo
                                                           { srcInfoSpan =
                                                               SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 907
                                                                 69
                                                                 907
                                                                 72
                                                           , srcInfoPoints = []
                                                           }
                                                         "arg")))))
                                          (Just
                                             (BDecls
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RealGHC.lhs" 909 15 911 59
                                                  , srcInfoPoints =
                                                      [ SrcSpan
                                                          "tests/examples/RealGHC.lhs" 909 15 909 15
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 910 15 910 15
                                                      , SrcSpan
                                                          "tests/examples/RealGHC.lhs" 915 1 915 0
                                                      ]
                                                  }
                                                [ PatBind
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            909
                                                            15
                                                            909
                                                            64
                                                      , srcInfoPoints = []
                                                      }
                                                    (PVar
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               909
                                                               15
                                                               909
                                                               23
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  909
                                                                  15
                                                                  909
                                                                  23
                                                            , srcInfoPoints = []
                                                            }
                                                          "in_scope"))
                                                    (UnGuardedRhs
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               909
                                                               24
                                                               909
                                                               64
                                                         , srcInfoPoints =
                                                             [ SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 909
                                                                 24
                                                                 909
                                                                 25
                                                             ]
                                                         }
                                                       (InfixApp
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  909
                                                                  26
                                                                  909
                                                                  64
                                                            , srcInfoPoints = []
                                                            }
                                                          (Var
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     909
                                                                     26
                                                                     909
                                                                     33
                                                               , srcInfoPoints = []
                                                               }
                                                             (UnQual
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        909
                                                                        26
                                                                        909
                                                                        33
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (Ident
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           909
                                                                           26
                                                                           909
                                                                           33
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   "lhs_fvs")))
                                                          (QVarOp
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     909
                                                                     34
                                                                     909
                                                                     47
                                                               , srcInfoPoints =
                                                                   [ SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       909
                                                                       34
                                                                       909
                                                                       35
                                                                   , SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       909
                                                                       35
                                                                       909
                                                                       46
                                                                   , SrcSpan
                                                                       "tests/examples/RealGHC.lhs"
                                                                       909
                                                                       46
                                                                       909
                                                                       47
                                                                   ]
                                                               }
                                                             (UnQual
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        909
                                                                        34
                                                                        909
                                                                        47
                                                                  , srcInfoPoints =
                                                                      [ SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          909
                                                                          34
                                                                          909
                                                                          35
                                                                      , SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          909
                                                                          35
                                                                          909
                                                                          46
                                                                      , SrcSpan
                                                                          "tests/examples/RealGHC.lhs"
                                                                          909
                                                                          46
                                                                          909
                                                                          47
                                                                      ]
                                                                  }
                                                                (Ident
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           909
                                                                           35
                                                                           909
                                                                           46
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   "unionVarSet")))
                                                          (App
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     909
                                                                     48
                                                                     909
                                                                     64
                                                               , srcInfoPoints = []
                                                               }
                                                             (Var
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        909
                                                                        48
                                                                        909
                                                                        60
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (UnQual
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           909
                                                                           48
                                                                           909
                                                                           60
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   (Ident
                                                                      SrcSpanInfo
                                                                        { srcInfoSpan =
                                                                            SrcSpan
                                                                              "tests/examples/RealGHC.lhs"
                                                                              909
                                                                              48
                                                                              909
                                                                              60
                                                                        , srcInfoPoints = []
                                                                        }
                                                                      "exprFreeVars")))
                                                             (Var
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        909
                                                                        61
                                                                        909
                                                                        64
                                                                  , srcInfoPoints = []
                                                                  }
                                                                (UnQual
                                                                   SrcSpanInfo
                                                                     { srcInfoSpan =
                                                                         SrcSpan
                                                                           "tests/examples/RealGHC.lhs"
                                                                           909
                                                                           61
                                                                           909
                                                                           64
                                                                     , srcInfoPoints = []
                                                                     }
                                                                   (Ident
                                                                      SrcSpanInfo
                                                                        { srcInfoSpan =
                                                                            SrcSpan
                                                                              "tests/examples/RealGHC.lhs"
                                                                              909
                                                                              61
                                                                              909
                                                                              64
                                                                        , srcInfoPoints = []
                                                                        }
                                                                      "arg"))))))
                                                    Nothing
                                                , PatBind
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/RealGHC.lhs"
                                                            910
                                                            15
                                                            911
                                                            59
                                                      , srcInfoPoints = []
                                                      }
                                                    (PVar
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               910
                                                               15
                                                               910
                                                               19
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  910
                                                                  15
                                                                  910
                                                                  19
                                                            , srcInfoPoints = []
                                                            }
                                                          "menv"))
                                                    (UnGuardedRhs
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/RealGHC.lhs"
                                                               910
                                                               20
                                                               911
                                                               59
                                                         , srcInfoPoints =
                                                             [ SrcSpan
                                                                 "tests/examples/RealGHC.lhs"
                                                                 910
                                                                 20
                                                                 910
                                                                 21
                                                             ]
                                                         }
                                                       (RecConstr
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/RealGHC.lhs"
                                                                  910
                                                                  22
                                                                  911
                                                                  59
                                                            , srcInfoPoints =
                                                                [ SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    910
                                                                    25
                                                                    910
                                                                    26
                                                                , SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    911
                                                                    25
                                                                    911
                                                                    26
                                                                , SrcSpan
                                                                    "tests/examples/RealGHC.lhs"
                                                                    911
                                                                    58
                                                                    911
                                                                    59
                                                                ]
                                                            }
                                                          (UnQual
                                                             SrcSpanInfo
                                                               { srcInfoSpan =
                                                                   SrcSpan
                                                                     "tests/examples/RealGHC.lhs"
                                                                     910
                                                                     22
                                                                     910
                                                                     24
                                                               , srcInfoPoints = []
                                                               }
                                                             (Ident
                                                                SrcSpanInfo
                                                                  { srcInfoSpan =
                                                                      SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        910
                                                                        22
                                                                        910
                                                                        24
                                                                  , srcInfoPoints = []
                                                                  }
                                                                "ME"))
                                                          [ FieldUpdate
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      910
                                                                      27
                                                                      910
                                                                      70
                                                                , srcInfoPoints =
                                                                    [ SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        910
                                                                        36
                                                                        910
                                                                        37
                                                                    ]
                                                                }
                                                              (UnQual
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         910
                                                                         27
                                                                         910
                                                                         33
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 (Ident
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/RealGHC.lhs"
                                                                            910
                                                                            27
                                                                            910
                                                                            33
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    "me_env"))
                                                              (App
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         910
                                                                         38
                                                                         910
                                                                         70
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 (Var
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/RealGHC.lhs"
                                                                            910
                                                                            38
                                                                            910
                                                                            46
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    (UnQual
                                                                       SrcSpanInfo
                                                                         { srcInfoSpan =
                                                                             SrcSpan
                                                                               "tests/examples/RealGHC.lhs"
                                                                               910
                                                                               38
                                                                               910
                                                                               46
                                                                         , srcInfoPoints = []
                                                                         }
                                                                       (Ident
                                                                          SrcSpanInfo
                                                                            { srcInfoSpan =
                                                                                SrcSpan
                                                                                  "tests/examples/RealGHC.lhs"
                                                                                  910
                                                                                  38
                                                                                  910
                                                                                  46
                                                                            , srcInfoPoints = []
                                                                            }
                                                                          "mkRnEnv2")))
                                                                 (Paren
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/RealGHC.lhs"
                                                                            910
                                                                            47
                                                                            910
                                                                            70
                                                                      , srcInfoPoints =
                                                                          [ SrcSpan
                                                                              "tests/examples/RealGHC.lhs"
                                                                              910
                                                                              47
                                                                              910
                                                                              48
                                                                          , SrcSpan
                                                                              "tests/examples/RealGHC.lhs"
                                                                              910
                                                                              69
                                                                              910
                                                                              70
                                                                          ]
                                                                      }
                                                                    (App
                                                                       SrcSpanInfo
                                                                         { srcInfoSpan =
                                                                             SrcSpan
                                                                               "tests/examples/RealGHC.lhs"
                                                                               910
                                                                               48
                                                                               910
                                                                               69
                                                                         , srcInfoPoints = []
                                                                         }
                                                                       (Var
                                                                          SrcSpanInfo
                                                                            { srcInfoSpan =
                                                                                SrcSpan
                                                                                  "tests/examples/RealGHC.lhs"
                                                                                  910
                                                                                  48
                                                                                  910
                                                                                  60
                                                                            , srcInfoPoints = []
                                                                            }
                                                                          (UnQual
                                                                             SrcSpanInfo
                                                                               { srcInfoSpan =
                                                                                   SrcSpan
                                                                                     "tests/examples/RealGHC.lhs"
                                                                                     910
                                                                                     48
                                                                                     910
                                                                                     60
                                                                               , srcInfoPoints = []
                                                                               }
                                                                             (Ident
                                                                                SrcSpanInfo
                                                                                  { srcInfoSpan =
                                                                                      SrcSpan
                                                                                        "tests/examples/RealGHC.lhs"
                                                                                        910
                                                                                        48
                                                                                        910
                                                                                        60
                                                                                  , srcInfoPoints =
                                                                                      []
                                                                                  }
                                                                                "mkInScopeSet")))
                                                                       (Var
                                                                          SrcSpanInfo
                                                                            { srcInfoSpan =
                                                                                SrcSpan
                                                                                  "tests/examples/RealGHC.lhs"
                                                                                  910
                                                                                  61
                                                                                  910
                                                                                  69
                                                                            , srcInfoPoints = []
                                                                            }
                                                                          (UnQual
                                                                             SrcSpanInfo
                                                                               { srcInfoSpan =
                                                                                   SrcSpan
                                                                                     "tests/examples/RealGHC.lhs"
                                                                                     910
                                                                                     61
                                                                                     910
                                                                                     69
                                                                               , srcInfoPoints = []
                                                                               }
                                                                             (Ident
                                                                                SrcSpanInfo
                                                                                  { srcInfoSpan =
                                                                                      SrcSpan
                                                                                        "tests/examples/RealGHC.lhs"
                                                                                        910
                                                                                        61
                                                                                        910
                                                                                        69
                                                                                  , srcInfoPoints =
                                                                                      []
                                                                                  }
                                                                                "in_scope"))))))
                                                          , FieldUpdate
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/RealGHC.lhs"
                                                                      911
                                                                      27
                                                                      911
                                                                      57
                                                                , srcInfoPoints =
                                                                    [ SrcSpan
                                                                        "tests/examples/RealGHC.lhs"
                                                                        911
                                                                        36
                                                                        911
                                                                        37
                                                                    ]
                                                                }
                                                              (UnQual
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         911
                                                                         27
                                                                         911
                                                                         35
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 (Ident
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/RealGHC.lhs"
                                                                            911
                                                                            27
                                                                            911
                                                                            35
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    "me_tmpls"))
                                                              (App
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/RealGHC.lhs"
                                                                         911
                                                                         38
                                                                         911
                                                                         57
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 (Var
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/RealGHC.lhs"
                                                                            911
                                                                            38
                                                                            911
                                                                            46
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    (UnQual
                                                                       SrcSpanInfo
                                                                         { srcInfoSpan =
                                                                             SrcSpan
                                                                               "tests/examples/RealGHC.lhs"
                                                                               911
                                                                               38
                                                                               911
                                                                               46
                                                                         , srcInfoPoints = []
                                                                         }
                                                                       (Ident
                                                                          SrcSpanInfo
                                                                            { srcInfoSpan =
                                                                                SrcSpan
                                                                                  "tests/examples/RealGHC.lhs"
                                                                                  911
                                                                                  38
                                                                                  911
                                                                                  46
                                                                            , srcInfoPoints = []
                                                                            }
                                                                          "mkVarSet")))
                                                                 (Var
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/RealGHC.lhs"
                                                                            911
                                                                            47
                                                                            911
                                                                            57
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    (UnQual
                                                                       SrcSpanInfo
                                                                         { srcInfoSpan =
                                                                             SrcSpan
                                                                               "tests/examples/RealGHC.lhs"
                                                                               911
                                                                               47
                                                                               911
                                                                               57
                                                                         , srcInfoPoints = []
                                                                         }
                                                                       (Ident
                                                                          SrcSpanInfo
                                                                            { srcInfoSpan =
                                                                                SrcSpan
                                                                                  "tests/examples/RealGHC.lhs"
                                                                                  911
                                                                                  47
                                                                                  911
                                                                                  57
                                                                            , srcInfoPoints = []
                                                                            }
                                                                          "rule_bndrs"))))
                                                          ]))
                                                    Nothing
                                                ]))
                                      ]
                                  ]))
                        ]
                    ]))
          ]
      ]
  , [ Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 9 1 9 60)
        " The above warning supression flag is a temporary kludge."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 10 1 10 72)
        " While working on this module you are encouraged to remove it and fix"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 11 1 11 35)
        " any warnings in the module. See"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 12 1 12 80)
        "     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 13 1 13 15)
        " for details"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 15 1 15 79)
        " | Functions for collecting together and applying rewrite rules to a module."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 16 1 16 57)
        " The 'CoreRule' datatype itself is declared elsewhere."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 18 5 18 18)
        " * RuleBase"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 21 5 21 23)
        " ** Constructing"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 25 5 25 37)
        " ** Checking rule applications"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 28 9 28 44)
        " ** Manipulating 'SpecInfo' rules"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 32 5 32 32)
        " * Misc. CoreRule helpers"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 38 1 38 27)
        " #include \"HsVersions.h\""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 40 21 40 33)
        " All of it"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 106 1 106 69)
        " ^ Used to make 'CoreRule' for an 'Id' defined in the module being"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 107 1 107 41)
        " compiled. See also 'CoreSyn.CoreRule'"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 114 1 114 15)
        "------------"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 116 1 116 57)
        " ^ Find the \\\"top\\\" free names of several expressions."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 117 1 117 26)
        " Such names are either:"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 118 1 118 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 119 1 119 68)
        " 1. The function finally being applied to in an application chain"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 120 1 120 64)
        "    (if that name is a GlobalId: see \"Var#globalvslocal\"), or"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 121 1 121 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 122 1 122 48)
        " 2. The 'TyCon' if the expression is a 'Type'"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 123 1 123 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 124 1 124 52)
        " This is used for the fast-match-check for rules;"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 125 1 125 49)
        "  if the top names don't match, the rest can't"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 138 1 138 62)
        " ^ @ruleCantMatch tpl actual@ returns True only if @actual@"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 139 1 139 56)
        " definitely can't match @tpl@ by instantiating @tpl@."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 140 1 140 58)
        " It's only a one-way match; unlike instance matching we"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 141 1 141 31)
        " don't consider unification."
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 142 1 142 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 143 1 143 21)
        " Notice that [_$_]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 144 1 144 48)
        "  @ruleCantMatch [Nothing] [Just n2] = False@"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 145 1 145 70)
        "      Reason: a template variable can be instantiated by a constant"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 146 1 146 9) " Also:"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 147 1 147 48)
        "  @ruleCantMatch [Just n1] [Nothing] = False@"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 148 1 148 64)
        "      Reason: a local variable @v@ in the actuals might [_$_]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 157 1 157 22)
        " (a) tidy the rules"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 158 1 158 51)
        " (b) sort them into order based on the rule name"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 159 1 159 51)
        " (c) suppress uniques (unless -dppr-debug is on)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 160 1 160 69)
        " This combination makes the output stable so we can use in testing"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 161 1 161 63)
        " It's here rather than in PprCore because it calls tidyRules"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 179 1 179 68)
        " | Make a 'SpecInfo' containing a number of 'CoreRule's, suitable"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 180 1 180 32)
        " for putting into an 'IdInfo'"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 199 1 199 83)
        " | Gather all the rules for locally bound identifiers from the supplied bindings"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 204 5 204 49)
        " The rules for an Id come from two places:"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 205 5 205 54)
        "  (a) the ones it is born with (idCoreRules fn)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 206 5 206 60)
        "  (b) rules added in subsequent modules (extra_rules)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 207 5 207 70)
        " PrimOps, for example, are born with a bunch of rules under (a)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 213 5 213 77)
        " Only PrimOpIds have rules inside themselves, and perhaps more besides"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 224 1 224 82)
        " | Gathers a collection of 'CoreRule's. Maps (the name of) an 'Id' to its rules"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 226 5 226 36)
        " The rules are are unordered;"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 227 5 227 42)
        " we sort out any overlaps on lookup"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 274 1 274 69)
        " | The main rule matching function. Attempts to apply all (active)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 275 1 275 64)
        " supplied rules to this instance of an application in a given"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 276 1 276 71)
        " context, returning the rule applied and the resulting expression if"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 277 1 277 15)
        " successful."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 282 1 282 42)
        " See Note [Extra args in rule matching]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 283 1 283 29)
        " See comments on matchRule"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 285 5 285 54)
        " pprTrace \"matchRules\" (ppr fn <+> ppr rules) $"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 296 24 296 72)
        " pprTrace \"match failed\" (ppr r $$ ppr args $$"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 297 20 297 137)
        "   ppr [(arg_id, unfoldingTemplate unf) | Var arg_id <- args, let unf = idUnfolding arg_id, isCheapUnfolding unf] )"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 302 1 302 42)
        " All these pairs matched the expression"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 303 1 303 46)
        " Return the pair the the most specific rule"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 304 1 304 47)
        " The (fn,args) is just for overlap reporting"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 332 5 332 57)
        " Actually we should probably include the free vars"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 333 5 333 48)
        " of rule1's args, but I can't be bothered"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 336 29 336 55)
        " Nothing is black listed"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 342 1 342 52)
        " If (matchRule rule args) returns Just (name,rhs)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 343 1 343 57)
        " then (f args) matches the rule, and the corresponding"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 344 1 344 24)
        " rewritten RHS is rhs"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 345 1 345 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 346 1 346 44)
        " The bndrs and rhs is occurrence-analysed"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 347 1 347 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 348 1 348 12)
        "  Example"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 349 1 349 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 350 1 350 12)
        " The rule"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 351 1 351 52)
        "  forall f g x. map f (map g x) ==> map (f . g) x"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 352 1 352 13)
        " is stored"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 353 1 353 23)
        "  CoreRule \"map/map\""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 354 1 354 36)
        "       [f,g,x]        -- tpl_vars"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 355 1 355 40)
        "       [f,map g x]        -- tpl_args"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 356 1 356 35)
        "       map (f.g) x)       -- rhs"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 357 1 357 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 358 1 358 52)
        " Then the call: matchRule the_rule [e1,map e2 e3]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 359 1 359 51)
        "    = Just (\"map/map\", (\\f,g,x -> rhs) e1 e2 e3)"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 360 1 360 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 361 1 361 66)
        " Any 'surplus' arguments in the input are simply put on the end"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 362 1 362 18)
        " of the output."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 383 5 383 71)
        " We could do this when putting things into the rulebase, I guess"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 387 1 387 72)
        " For a given match template and context, find bindings to wrap around"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 388 1 388 80)
        " the entire result and what should be substituted for each template variable."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 389 1 389 84)
        " Fail if there are two few actual arguments from the target to match the template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 390 33 390 56)
        " ^ In-scope variables"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 391 21 391 55)
        " ^ Match template type variables"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 392 25 392 44)
        " ^ Match template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 393 25 393 78)
        " ^ Target; can have more elements than the template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 404 5 404 35)
        " See Note [Template binders]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 409 45 409 75)
        " Fail if too few actual args"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 448 1 448 55)
        " These two definitions are not the same as in Subst,"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 449 1 449 63)
        " but they simple and direct, and purely local to this module"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 450 1 450 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 451 1 451 66)
        " * The domain of the TvSubstEnv and IdSubstEnv are the template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 452 1 452 38)
        "   variables passed into the match."
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 453 1 453 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 454 1 454 71)
        " * The (OrdList CoreBind) in a SubstEnv are the bindings floated out"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 455 1 455 59)
        "   from nested matches; see the Let case of match, below"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 456 1 456 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 464 1 464 57)
        "  At one stage I tried to match even if there are more"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 465 1 465 34)
        "  template args than real args."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 467 1 467 45)
        "  I now think this is probably a bad idea."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 468 1 468 64)
        "  Should the template (map f xs) match (map g)?  I think not."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 469 1 469 55)
        "  For a start, in general eta expansion wastes work."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 470 1 470 17)
        "  SLPJ July 99"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 475 25 475 36)
        " Template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 476 25 476 34)
        " Target"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 479 1 479 55)
        " See the notes with Unify.match, which matches types"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 480 1 480 40)
        " Everything is very similar for terms"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 482 1 482 25)
        " Interesting examples:"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 483 1 483 21)
        " Consider matching"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 484 1 484 32)
        "  \\x->f      against    \\f->f"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 485 1 485 70)
        " When we meet the lambdas we must remember to rename f to f' in the"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 486 1 486 44)
        " second expresion.  The RnEnv2 does that."
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 487 1 487 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 488 1 488 21)
        " Consider matching"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 489 1 489 39)
        "  forall a. \\b->b    against   \\a->3"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 490 1 490 65)
        " We must rename the \\a.  Otherwise when we meet the lambdas we"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 491 1 491 64)
        " might substitute [a/b] in the template, and then erroneously"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 492 1 492 76)
        " succeed in matching what looks like the template variable 'a' against 3."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 494 1 494 60)
        " The Var case follows closely what happens in Unify.match"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 501 5 501 37)
        " Note [Notes in RULE matching]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 502 5 502 37)
        " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 503 5 503 60)
        " Look through Notes.  In particular, we don't want to"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 504 5 504 63)
        " be confused by InlineMe notes.  Maybe we should be more"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 505 5 505 59)
        " careful about profiling notes, but for now I'm just"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 506 5 506 35)
        " riding roughshod over them."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 507 5 507 56)
        "- See Note [Notes in call patterns] in SpecConstr"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 509 1 509 66)
        " Here is another important rule: if the term being matched is a"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 510 1 510 61)
        " variable, we expand it so long as its unfolding is a WHNF"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 511 1 511 62)
        " (Its occurrence information is not necessarily up to date,"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 512 1 512 25)
        "  so we don't use it.)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 519 5 519 53)
        " Notice that we look up v2 in the in-scope set"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 520 5 520 34)
        " See Note [Lookup in-scope]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 521 5 521 59)
        " Remember to apply any renaming first (hence rnOccR)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 523 1 523 24)
        " Note [Matching lets]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 524 1 524 24)
        " ~~~~~~~~~~~~~~~~~~~~"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 525 1 525 40)
        " Matching a let-expression.  Consider"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 526 1 526 36)
        "  RULE forall x.  f (g x) = <rhs>"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 527 1 527 25)
        " and target expression"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 528 1 528 28)
        "  f (let { w=R } in g E))"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 529 1 529 49)
        " Then we'd like the rule to match, to generate"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 530 1 530 33)
        "  let { w=R } in (\\x. <rhs>) E"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 531 1 531 66)
        " In effect, we want to float the let-binding outward, to enable"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 532 1 532 67)
        " the match to happen.  This is the WHOLE REASON for accumulating"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 533 1 533 28)
        " bindings in the SubstEnv"
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 534 1 534 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 535 1 535 26)
        " We can only do this if"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 536 1 536 63)
        "  (a) Widening the scope of w does not capture any variables"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 537 1 537 62)
        "      We use a conservative test: w is not already in scope"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 538 1 538 53)
        "      If not, we clone the binders, and substitute"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 539 1 539 65)
        "  (b) The free variables of R are not bound by the part of the"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 540 1 540 56)
        "      target expression outside the let binding; e.g."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 541 1 541 35)
        "      f (\\v. let w = v+1 in g E)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 542 1 542 62)
        "      Here we obviously cannot float the let-binding for w."
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 543 1 543 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 544 1 544 70)
        " You may think rule (a) would never apply, because rule matching is"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 545 1 545 71)
        " mostly invoked from the simplifier, when we have just run substExpr"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 546 1 546 60)
        " over the argument, so there will be no shadowing anyway."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 547 1 547 65)
        " The fly in the ointment is that the forall'd variables of the"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 548 1 548 40)
        " RULE itself are considered in scope."
    , Comment
        False (SrcSpan "tests/examples/RealGHC.lhs" 549 1 549 3) ""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 550 1 550 67)
        " I though of various cheapo ways to solve this tiresome problem,"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 551 1 551 61)
        " but ended up doing the straightforward thing, which is to"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 552 1 552 63)
        " clone the binders if they are in scope.  It's tiresome, and"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 553 1 553 63)
        " potentially inefficient, because of the calls to substExpr,"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 554 1 554 51)
        " but I don't think it'll happen much in pracice."
    , Comment
        True
        (SrcSpan "tests/examples/RealGHC.lhs" 556 1 569 69)
        "  Cases to think about\n    (let x=y+1 in \\x. (x,x))\n        --> let x=y+1 in (\\x1. (x1,x1))\n    (\\x. let x = y+1 in (x,x))\n        --> let x1 = y+1 in (\\x. (x1,x1)\n    (let x=y+1 in (x,x), let x=y-1 in (x,x))\n        --> let x=y+1 in let x1=y-1 in ((x,x),(x1,x1))\n\nWatch out!\n    (let x=y+1 in let z=x+1 in (z,z)\n        --> matches (p,p) but watch out that the use of\n            x on z's rhs is OK!\nI'm removing the cloning because that makes the above case\nfail, because the inner let looks as if it has locally-bound vars "
    , Comment
        True
        (SrcSpan "tests/examples/RealGHC.lhs" 586 1 595 3)
        "\n    (rn_env', bndrs') = mapAccumL rnBndrR rn_env bndrs\n    s_prs = [(bndr, Var bndr') | (bndr,bndr') <- zip bndrs bndrs', bndr /= bndr']\n    subst = mkSubst (rnInScopeSet rn_env) emptyVarEnv (mkVarEnv s_prs)\n    (bind', e2') | null s_prs = (bind,   e2)\n         | otherwise  = (s_bind, substExpr subst e2)\n    s_bind = case bind of\n        NonRec {} -> NonRec (head bndrs') (head rhss)\n        Rec {}    -> Rec (bndrs' `zip` map (substExpr subst) rhss)\n"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 610 1 610 32)
        " This rule does eta expansion"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 611 1 611 38)
        "      (\\x.M)  ~  N    iff M  ~  N x"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 612 1 612 53)
        " It's important that this is *after* the let rule,"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 613 1 613 43)
        " so that  (\\x.M)  ~  (let y = e in \\y.N)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 614 1 614 60)
        " does the let thing, and then gets the lam/lam rule above"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 621 1 621 31)
        " Eta expansion the other way"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 622 1 622 39)
        "  M  ~  (\\y.N)    iff   M y     ~  N"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 633 45 633 68)
        " Alts are both sorted"
    , Comment
        True
        (SrcSpan "tests/examples/RealGHC.lhs" 643 1 667 3)
        "  REMOVING OLD CODE: I think that the above handling for let is\n               better than the stuff here, which looks\n               pretty suspicious to me.  SLPJ Sept 06\n-- This is an interesting rule: we simply ignore lets in the\n-- term being matched against!  The unfolding inside it is (by assumption)\n-- already inside any occurrences of the bound variables, so we'll expand\n-- them when we encounter them.  This gives a chance of matching\n--  forall x,y.  f (g (x,y))\n-- against\n--  f (let v = (a,b) in g v)\n\nmatch menv subst e1 (Let bind e2)\n  = match (menv { me_env = rn_env' }) subst e1 e2\n  where\n    (rn_env', _bndrs') = mapAccumL rnBndrR (me_env menv) (bindersOf bind)\n    -- It's important to do this renaming, so that the bndrs\n    -- are brought into the local scope. For example:\n    -- Matching\n    --  forall f,x,xs. f (x:xs)\n    --   against\n    --  f (let y = e in (y:[]))\n    -- We must not get success with x->y!  So we record that y is\n    -- locally bound (with rnBndrR), and proceed.  The Var case\n    -- will fail when trying to bind x->y\n"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 669 1 669 25)
        " Everything else fails"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 670 26 670 105)
        " pprTrace \"Failing at\" ((text \"e1:\" <+> ppr e1) $$ (text \"e2:\" <+> ppr e2)) $"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 673 1 673 43)
        "----------------------------------------"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 676 25 676 36)
        " Template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 677 29 677 38)
        " Target"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 683 21 683 44)
        " Occurs check failure"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 684 9 684 61)
        " e.g. match forall a. (\\x-> a x) against (\\y. y y)"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 686 21 686 68)
        " No renaming to do on e2, because no free var"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 687 17 687 54)
        " of e2 is in the rnEnvR of the envt"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 688 9 688 42)
        " Note [Matching variable types]"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 689 9 689 42)
        " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 690 9 690 52)
        " However, we must match the *types*; e.g."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 691 9 691 46)
        "   forall (c::Char->Int) (x::Char)."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 692 9 692 35)
        "  f (c x) = \"RULE FIRED\""
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 693 9 693 63)
        " We must only match on args that have the right type"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 694 9 694 79)
        " It's actually quite difficult to come up with an example that shows"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 695 9 695 80)
        " you need type matching, esp since matching is left-to-right, so type"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 696 9 696 77)
        " args get matched first.  But it's possible (e.g. simplrun008) and"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 697 9 697 41)
        " this is the Right Thing to do"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 699 25 699 47)
        " c.f. match_ty below"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 708 17 708 83)
        " v1 is not a template variable; check for an exact match with e2"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 716 5 716 26)
        " If the template is"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 717 5 717 38)
        "  forall x. f x (\\x -> x) = ..."
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 718 5 718 46)
        " Then the x inside the lambda isn't the"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 719 5 719 44)
        " template x, so we must rename first!"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 722 1 722 43)
        "----------------------------------------"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 725 25 725 36)
        " Template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 726 25 726 34)
        " Target"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 749 1 749 43)
        "----------------------------------------"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 752 25 752 36)
        " Template"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 753 25 753 34)
        " Target"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 811 1 811 67)
        " | Report partial matches for rules beginning with the specified"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 812 1 812 46)
        " string for the purposes of error reporting"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 813 45 813 70)
        " ^ Rule activation test"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 814 49 814 66)
        " ^ Rule pattern"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 815 49 815 71)
        " ^ Database of rules"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 816 49 816 74)
        " ^ Bindings to check in"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 817 49 817 77)
        " ^ Resulting check message"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 837 4 837 61)
        " The Bag returned has one SDoc for each call site found"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 860 1 860 57)
        " Produce a report for all rules matching the predicate"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 861 1 861 57)
        " saying why it doesn't match the specified application"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 872 9 872 70)
        " The rules match the pattern, so we want to print something"
    , Comment
        False
        (SrcSpan "tests/examples/RealGHC.lhs" 906 45 906 72)
        " Includes template tyvars"
    ]
  )