Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
5238 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
DumpSemis.stderr 69.98 KiB

==================== Parser AST ====================

(L
 { DumpSemis.hs:1:1 }
 (HsModule
  (XModulePs
   (EpAnn
    (EpaSpan { DumpSemis.hs:1:1 })
    (AnnsModule
     [(AddEpAnn AnnModule (EpaSpan { DumpSemis.hs:1:1-6 }))
     ,(AddEpAnn AnnWhere (EpaSpan { DumpSemis.hs:1:18-22 }))]
     [(AddSemiAnn
       (EpaSpan { DumpSemis.hs:4:1 }))
     ,(AddSemiAnn
       (EpaSpan { DumpSemis.hs:4:2 }))
     ,(AddSemiAnn
       (EpaSpan { DumpSemis.hs:4:3 }))
     ,(AddSemiAnn
       (EpaSpan { DumpSemis.hs:4:4 }))
     ,(AddSemiAnn
       (EpaSpan { DumpSemis.hs:4:7 }))
     ,(AddSemiAnn
       (EpaSpan { DumpSemis.hs:4:8 }))]
     []
     (Just
      ((,)
       { DumpSemis.hs:46:1 }
       { DumpSemis.hs:45:1 })))
    (EpaCommentsBalanced
     []
     []))
   (EpVirtualBraces
    (1))
   (Nothing)
   (Nothing))
  (Just
   (L
    (EpAnn
     (EpaSpan { DumpSemis.hs:1:8-16 })
     (AnnListItem
      [])
     (EpaComments
      []))
    {ModuleName: DumpSemis}))
  (Nothing)
  [(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:5:1-19 })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:6:1 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:6:3 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:6:5 }))])
     (EpaComments
      []))
    (ImportDecl
     (XImportDeclPass
      (EpAnn
       (EpaSpan { DumpSemis.hs:5:1-19 })
       (EpAnnImportDecl
        (EpaSpan { DumpSemis.hs:5:1-6 })
        (Nothing)
        (Nothing)
        (Nothing)
        (Nothing)
        (Nothing))
       (EpaComments
        []))
      (NoSourceText)
      (False))
     (L
      (EpAnn
       (EpaSpan { DumpSemis.hs:5:8-16 })
       (AnnListItem
        [])
       (EpaComments
        []))
      {ModuleName: Data.List})
     (NoRawPkgQual)
     (NotBoot)
     (False)
     (NotQualified)
     (Nothing)
     (Just
      ((,)
       (Exactly)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:5:18-19 })
         (AnnList
          (Nothing)
          (Just
           (AddEpAnn AnnOpenP (EpaSpan { DumpSemis.hs:5:18 })))
          (Just
           (AddEpAnn AnnCloseP (EpaSpan { DumpSemis.hs:5:19 })))
          []
          [])
         (EpaComments
          []))
        [])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:7:1-16 })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:8:4 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:8:6 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:8:7 }))])
     (EpaComments
      []))
    (ImportDecl
     (XImportDeclPass
      (EpAnn
       (EpaSpan { DumpSemis.hs:7:1-16 })
       (EpAnnImportDecl
        (EpaSpan { DumpSemis.hs:7:1-6 })
        (Nothing)
        (Nothing)
        (Nothing)
        (Nothing)
        (Nothing))
       (EpaComments
        []))
      (NoSourceText)
      (False))
     (L
      (EpAnn
       (EpaSpan { DumpSemis.hs:7:8-16 })
       (AnnListItem
        [])
       (EpaComments
        []))
      {ModuleName: Data.Kind})
     (NoRawPkgQual)
     (NotBoot)
     (False)
     (NotQualified)
     (Nothing)
     (Nothing)))]
  [(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:9:1-12 })
     (AnnListItem
      [])
     (EpaComments
      []))
    (SigD
     (NoExtField)
     (TypeSig
      (AnnSig
       (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:9:5-6 }))
       [])
      [(L
        (EpAnn
         (EpaSpan { DumpSemis.hs:9:1-3 })
         (NameAnnTrailing
          [])
         (EpaComments
          []))
        (Unqual
         {OccName: foo}))]
      (HsWC
       (NoExtField)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:9:8-12 })
         (AnnListItem
          [])
         (EpaComments
          []))
        (HsSig
         (NoExtField)
         (HsOuterImplicit
          (NoExtField))
         (L
          (EpAnn
           (EpaSpan { DumpSemis.hs:9:8-12 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (HsAppTy
           (NoExtField)
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:9:8-9 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsTyVar
             []
             (NotPromoted)
             (L
              (EpAnn
               (EpaSpan { DumpSemis.hs:9:8-9 })
               (NameAnnTrailing
                [])
               (EpaComments
                []))
              (Unqual
               {OccName: IO}))))
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:9:11-12 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsTupleTy
             (AnnParen
              AnnParens
              (EpaSpan { DumpSemis.hs:9:11 })
              (EpaSpan { DumpSemis.hs:9:12 }))
             (HsBoxedOrConstraintTuple)
             []))))))))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:(10,1)-(12,3) })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:13:1 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:13:3 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:13:4 }))])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:10:1-3 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: foo}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:(10,1)-(12,3) })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:(10,1)-(12,3) })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:10:1-3 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: foo}))
            (Prefix)
            (NoSrcStrict))
           []
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:(10,5)-(12,3) })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:(10,5)-(12,3) })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:10:5 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:(10,7)-(12,3) })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsDo
                 (AnnList
                  (Just
                   (EpaSpan { DumpSemis.hs:(11,3)-(12,3) }))
                  (Nothing)
                  (Nothing)
                  [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:10:7-8 }))]
                  [])
                 (DoExpr
                  (Nothing))
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:(11,3)-(12,3) })
                   (AnnList
                    (Just
                     (EpaSpan { DumpSemis.hs:(11,3)-(12,3) }))
                    (Nothing)
                    (Nothing)
                    []
                    [])
                   (EpaComments
                    []))
                  [(L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:11:3-15 })
                     (AnnListItem
                      [])
                     (EpaComments
                      []))
                    (BodyStmt
                     (NoExtField)
                     (L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:11:3-15 })
                       (AnnListItem
                        [])
                       (EpaComments
                        []))
                      (HsDo
                       (AnnList
                        (Just
                         (EpaSpan { DumpSemis.hs:11:6-15 }))
                        (Nothing)
                        (Nothing)
                        [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:11:3-4 }))]
                        [])
                       (DoExpr
                        (Nothing))
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:11:6-15 })
                         (AnnList
                          (Just
                           (EpaSpan { DumpSemis.hs:11:8-13 }))
                          (Just
                           (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:11:6 })))
                          (Just
                           (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:11:15 })))
                          [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:8 }))
                          ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:9 }))
                          ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:10 }))
                          ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:11 }))]
                          [])
                         (EpaComments
                          []))
                        [(L
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:11:13 })
                           (AnnListItem
                            [])
                           (EpaComments
                            []))
                          (BodyStmt
                           (NoExtField)
                           (L
                            (EpAnn
                             (EpaSpan { DumpSemis.hs:11:13 })
                             (AnnListItem
                              [])
                             (EpaComments
                              []))
                            (HsVar
                             (NoExtField)
                             (L
                              (EpAnn
                               (EpaSpan { DumpSemis.hs:11:13 })
                               (NameAnnTrailing
                                [])
                               (EpaComments
                                []))
                              (Unqual
                               {OccName: a}))))
                           (NoExtField)
                           (NoExtField)))])))
                     (NoExtField)
                     (NoExtField)))
                  ,(L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:12:3 })
                     (AnnListItem
                      [])
                     (EpaComments
                      []))
                    (BodyStmt
                     (NoExtField)
                     (L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:12:3 })
                       (AnnListItem
                        [])
                       (EpaComments
                        []))
                      (HsVar
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:12:3 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: a}))))
                     (NoExtField)
                     (NoExtField)))])))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:14:1-12 })
     (AnnListItem
      [])
     (EpaComments
      []))
    (SigD
     (NoExtField)
     (TypeSig
      (AnnSig
       (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:14:5-6 }))
       [])
      [(L
        (EpAnn
         (EpaSpan { DumpSemis.hs:14:1-3 })
         (NameAnnTrailing
          [])
         (EpaComments
          []))
        (Unqual
         {OccName: bar}))]
      (HsWC
       (NoExtField)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:14:8-12 })
         (AnnListItem
          [])
         (EpaComments
          []))
        (HsSig
         (NoExtField)
         (HsOuterImplicit
          (NoExtField))
         (L
          (EpAnn
           (EpaSpan { DumpSemis.hs:14:8-12 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (HsAppTy
           (NoExtField)
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:14:8-9 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsTyVar
             []
             (NotPromoted)
             (L
              (EpAnn
               (EpaSpan { DumpSemis.hs:14:8-9 })
               (NameAnnTrailing
                [])
               (EpaComments
                []))
              (Unqual
               {OccName: IO}))))
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:14:11-12 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsTupleTy
             (AnnParen
              AnnParens
              (EpaSpan { DumpSemis.hs:14:11 })
              (EpaSpan { DumpSemis.hs:14:12 }))
             (HsBoxedOrConstraintTuple)
             []))))))))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:(15,1)-(19,3) })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:20:2 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:20:4 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:20:5 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:20:8 }))])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:15:1-3 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: bar}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:(15,1)-(19,3) })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:(15,1)-(19,3) })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:15:1-3 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: bar}))
            (Prefix)
            (NoSrcStrict))
           []
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:(15,5)-(19,3) })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:(15,5)-(19,3) })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:15:5 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:(15,7)-(19,3) })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsDo
                 (AnnList
                  (Just
                   (EpaSpan { DumpSemis.hs:(16,3)-(19,3) }))
                  (Nothing)
                  (Nothing)
                  [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:15:7-8 }))]
                  [])
                 (DoExpr
                  (Nothing))
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:(16,3)-(19,3) })
                   (AnnList
                    (Just
                     (EpaSpan { DumpSemis.hs:(16,5)-(18,5) }))
                    (Just
                     (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:16:3 })))
                    (Just
                     (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:19:3 })))
                    [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:16:5 }))
                    ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:16:8 }))]
                    [])
                   (EpaComments
                    []))
                  [(L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:17:5 })
                     (AnnListItem
                      [(AddSemiAnn
                        (EpaSpan { DumpSemis.hs:17:7 }))
                      ,(AddSemiAnn
                        (EpaSpan { DumpSemis.hs:17:8 }))])
                     (EpaComments
                      []))
                    (BodyStmt
                     (NoExtField)
                     (L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:17:5 })
                       (AnnListItem
                        [])
                       (EpaComments
                        []))
                      (HsVar
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:17:5 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: a}))))
                     (NoExtField)
                     (NoExtField)))
                  ,(L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:18:5 })
                     (AnnListItem
                      [])
                     (EpaComments
                      []))
                    (BodyStmt
                     (NoExtField)
                     (L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:18:5 })
                       (AnnListItem
                        [])
                       (EpaComments
                        []))
                      (HsVar
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:18:5 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: b}))))
                     (NoExtField)
                     (NoExtField)))])))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:21:1-12 })
     (AnnListItem
      [])
     (EpaComments
      []))
    (SigD
     (NoExtField)
     (TypeSig
      (AnnSig
       (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:21:5-6 }))
       [])
      [(L
        (EpAnn
         (EpaSpan { DumpSemis.hs:21:1-3 })
         (NameAnnTrailing
          [])
         (EpaComments
          []))
        (Unqual
         {OccName: baz}))]
      (HsWC
       (NoExtField)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:21:8-12 })
         (AnnListItem
          [])
         (EpaComments
          []))
        (HsSig
         (NoExtField)
         (HsOuterImplicit
          (NoExtField))
         (L
          (EpAnn
           (EpaSpan { DumpSemis.hs:21:8-12 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (HsAppTy
           (NoExtField)
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:21:8-9 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsTyVar
             []
             (NotPromoted)
             (L
              (EpAnn
               (EpaSpan { DumpSemis.hs:21:8-9 })
               (NameAnnTrailing
                [])
               (EpaComments
                []))
              (Unqual
               {OccName: IO}))))
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:21:11-12 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsTupleTy
             (AnnParen
              AnnParens
              (EpaSpan { DumpSemis.hs:21:11 })
              (EpaSpan { DumpSemis.hs:21:12 }))
             (HsBoxedOrConstraintTuple)
             []))))))))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:22:1-30 })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:23:1 }))])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:22:1-3 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: baz}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:22:1-30 })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:22:1-30 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:22:1-3 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: baz}))
            (Prefix)
            (NoSrcStrict))
           []
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:22:5-30 })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:22:5-30 })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:22:5 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:22:7-30 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsDo
                 (AnnList
                  (Just
                   (EpaSpan { DumpSemis.hs:22:10-30 }))
                  (Nothing)
                  (Nothing)
                  [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:22:7-8 }))]
                  [])
                 (DoExpr
                  (Nothing))
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:22:10-30 })
                   (AnnList
                    (Just
                     (EpaSpan { DumpSemis.hs:22:12-25 }))
                    (Just
                     (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:22:10 })))
                    (Just
                     (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:22:30 })))
                    [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:22:12 }))
                    ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:22:13 }))]
                    [])
                   (EpaComments
                    []))
                  [(L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:22:15 })
                     (AnnListItem
                      [(AddSemiAnn
                        (EpaSpan { DumpSemis.hs:22:17 }))])
                     (EpaComments
                      []))
                    (BodyStmt
                     (NoExtField)
                     (L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:22:15 })
                       (AnnListItem
                        [])
                       (EpaComments
                        []))
                      (HsVar
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:22:15 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: s}))))
                     (NoExtField)
                     (NoExtField)))
                  ,(L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:22:19 })
                     (AnnListItem
                      [(AddSemiAnn
                        (EpaSpan { DumpSemis.hs:22:21 }))
                      ,(AddSemiAnn
                        (EpaSpan { DumpSemis.hs:22:23 }))])
                     (EpaComments
                      []))
                    (BodyStmt
                     (NoExtField)
                     (L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:22:19 })
                       (AnnListItem
                        [])
                       (EpaComments
                        []))
                      (HsVar
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:22:19 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: s}))))
                     (NoExtField)
                     (NoExtField)))
                  ,(L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:22:25 })
                     (AnnListItem
                      [(AddSemiAnn
                        (EpaSpan { DumpSemis.hs:22:27 }))
                      ,(AddSemiAnn
                        (EpaSpan { DumpSemis.hs:22:28 }))])
                     (EpaComments
                      []))
                    (BodyStmt
                     (NoExtField)
                     (L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:22:25 })
                       (AnnListItem
                        [])
                       (EpaComments
                        []))
                      (HsVar
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:22:25 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: s}))))
                     (NoExtField)
                     (NoExtField)))])))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:24:1-13 })
     (AnnListItem
      [])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:24:1 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: a}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:24:1-13 })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:24:1-13 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:24:1 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: a}))
            (Prefix)
            (NoSrcStrict))
           []
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:24:3-13 })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:24:3-13 })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:24:3 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:24:5-13 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsVar
                 (NoExtField)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:24:5-13 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: undefined}))))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:25:1-13 })
     (AnnListItem
      [])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:25:1 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: b}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:25:1-13 })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:25:1-13 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:25:1 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: b}))
            (Prefix)
            (NoSrcStrict))
           []
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:25:3-13 })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:25:3-13 })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:25:3 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:25:5-13 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsVar
                 (NoExtField)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:25:5-13 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: undefined}))))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:26:1-13 })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:27:1 }))])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:26:1 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: s}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:26:1-13 })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:26:1-13 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:26:1 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: s}))
            (Prefix)
            (NoSrcStrict))
           []
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:26:3-13 })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:26:3-13 })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:26:3 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:26:5-13 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsVar
                 (NoExtField)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:26:5-13 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: undefined}))))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:(28,1)-(29,23) })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:30:1 }))])
     (EpaComments
      []))
    (TyClD
     (NoExtField)
     (ClassDecl
      ((,,)
       [(AddEpAnn AnnClass (EpaSpan { DumpSemis.hs:28:1-5 }))
       ,(AddEpAnn AnnWhere (EpaSpan { DumpSemis.hs:28:40-44 }))]
       (EpVirtualBraces
        (3))
       (NoAnnSortKey))
      (Nothing)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:28:7-19 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: LiftingMonad2}))
      (HsQTvs
       (NoExtField)
       [(L
         (EpAnn
          (EpaSpan { DumpSemis.hs:28:22-38 })
          (AnnListItem
           [])
          (EpaComments
           []))
         (KindedTyVar
          [(AddEpAnn AnnOpenP (EpaSpan { DumpSemis.hs:28:22 }))
          ,(AddEpAnn AnnOpenP (EpaSpan { DumpSemis.hs:28:23 }))
          ,(AddEpAnn AnnCloseP (EpaSpan { DumpSemis.hs:28:37 }))
          ,(AddEpAnn AnnCloseP (EpaSpan { DumpSemis.hs:28:38 }))
          ,(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:28:30-31 }))]
          (HsBndrRequired
           (NoExtField))
          (L
           (EpAnn
            (EpaSpan { DumpSemis.hs:28:24-28 })
            (NameAnnTrailing
             [])
            (EpaComments
             []))
           (Unqual
            {OccName: trans}))
          (L
           (EpAnn
            (EpaSpan { DumpSemis.hs:28:33-36 })
            (AnnListItem
             [])
            (EpaComments
             []))
           (HsTyVar
            []
            (NotPromoted)
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:28:33-36 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: Type}))))))])
      (Prefix)
      []
      [(L
        (EpAnn
         (EpaSpan { DumpSemis.hs:29:3-23 })
         (AnnListItem
          [])
         (EpaComments
          []))
        (ClassOpSig
         (AnnSig
          (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:29:9-10 }))
          [])
         (False)
         [(L
           (EpAnn
            (EpaSpan { DumpSemis.hs:29:3-7 })
            (NameAnnTrailing
             [])
            (EpaComments
             []))
           (Unqual
            {OccName: proof}))]
         (L
          (EpAnn
           (EpaSpan { DumpSemis.hs:29:12-23 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (HsSig
           (NoExtField)
           (HsOuterImplicit
            (NoExtField))
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:29:12-23 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsFunTy
             (NoExtField)
             (HsUnrestrictedArrow
              (EpUniTok
               (EpaSpan { DumpSemis.hs:29:18-19 })
               (NormalSyntax)))
             (L
              (EpAnn
               (EpaSpan { DumpSemis.hs:29:12-16 })
               (AnnListItem
                [])
               (EpaComments
                []))
              (HsTyVar
               []
               (NotPromoted)
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:29:12-16 })
                 (NameAnnTrailing
                  [])
                 (EpaComments
                  []))
                (Unqual
                 {OccName: trans}))))
             (L
              (EpAnn
               (EpaSpan { DumpSemis.hs:29:21-23 })
               (AnnListItem
                [])
               (EpaComments
                []))
              (HsTyVar
               []
               (NotPromoted)
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:29:21-23 })
                 (NameAnnTrailing
                  [])
                 (EpaComments
                  []))
                (Unqual
                 {OccName: Int}))))))))))]
      {Bag(LocatedA (HsBind GhcPs)):
       []}
      []
      []
      [])))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:31:1-30 })
     (AnnListItem
      [])
     (EpaComments
      []))
    (SigD
     (NoExtField)
     (TypeSig
      (AnnSig
       (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:31:3-4 }))
       [])
      [(L
        (EpAnn
         (EpaSpan { DumpSemis.hs:31:1 })
         (NameAnnTrailing
          [])
         (EpaComments
          []))
        (Unqual
         {OccName: f}))]
      (HsWC
       (NoExtField)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:31:6-30 })
         (AnnListItem
          [])
         (EpaComments
          []))
        (HsSig
         (NoExtField)
         (HsOuterImplicit
          (NoExtField))
         (L
          (EpAnn
           (EpaSpan { DumpSemis.hs:31:6-30 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (HsQualTy
           (NoExtField)
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:31:6-20 })
             (AnnContext
              (Just
               ((,)
                (NormalSyntax)
                (EpaSpan { DumpSemis.hs:31:22-23 })))
              [(EpaSpan { DumpSemis.hs:31:6 })
              ,(EpaSpan { DumpSemis.hs:31:7 })]
              [(EpaSpan { DumpSemis.hs:31:19 })
              ,(EpaSpan { DumpSemis.hs:31:20 })])
             (EpaComments
              []))
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:31:8-11 })
               (AnnListItem
                [(AddCommaAnn
                  (EpaSpan { DumpSemis.hs:31:12 }))])
               (EpaComments
                []))
              (HsAppTy
               (NoExtField)
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:31:8-9 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsTyVar
                 []
                 (NotPromoted)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:31:8-9 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: Eq}))))
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:31:11 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsTyVar
                 []
                 (NotPromoted)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:31:11 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: a}))))))
            ,(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:31:14-18 })
               (AnnListItem
                [])
               (EpaComments
                []))
              (HsAppTy
               (NoExtField)
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:31:14-16 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsTyVar
                 []
                 (NotPromoted)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:31:14-16 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: Ord}))))
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:31:18 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsTyVar
                 []
                 (NotPromoted)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:31:18 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: a}))))))])
           (L
            (EpAnn
             (EpaSpan { DumpSemis.hs:31:25-30 })
             (AnnListItem
              [])
             (EpaComments
              []))
            (HsFunTy
             (NoExtField)
             (HsUnrestrictedArrow
              (EpUniTok
               (EpaSpan { DumpSemis.hs:31:27-28 })
               (NormalSyntax)))
             (L
              (EpAnn
               (EpaSpan { DumpSemis.hs:31:25 })
               (AnnListItem
                [])
               (EpaComments
                []))
              (HsTyVar
               []
               (NotPromoted)
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:31:25 })
                 (NameAnnTrailing
                  [])
                 (EpaComments
                  []))
                (Unqual
                 {OccName: a}))))
             (L
              (EpAnn
               (EpaSpan { DumpSemis.hs:31:30 })
               (AnnListItem
                [])
               (EpaComments
                []))
              (HsTyVar
               []
               (NotPromoted)
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:31:30 })
                 (NameAnnTrailing
                  [])
                 (EpaComments
                  []))
                (Unqual
                 {OccName: a}))))))))))))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:32:1-7 })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:33:1 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:34:6 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:34:7 }))])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:32:1 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: f}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:32:1-7 })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:32:1-7 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:32:1 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: f}))
            (Prefix)
            (NoSrcStrict))
           [(L
             (EpAnn
              (EpaSpan { DumpSemis.hs:32:3 })
              (AnnListItem
               [])
              (EpaComments
               []))
             (VarPat
              (NoExtField)
              (L
               (EpAnn
                (EpaSpan { DumpSemis.hs:32:3 })
                (NameAnnTrailing
                 [])
                (EpaComments
                 []))
               (Unqual
                {OccName: x}))))]
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:32:5-7 })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:32:5-7 })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:32:5 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:32:7 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsVar
                 (NoExtField)
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:32:7 })
                   (NameAnnTrailing
                    [])
                   (EpaComments
                    []))
                  (Unqual
                   {OccName: x}))))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:34:8-35 })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:34:36 }))
      ,(AddSemiAnn
        (EpaSpan { DumpSemis.hs:35:1 }))])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:34:8 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: x}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:34:8-35 })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:34:8-35 })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:34:8 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: x}))
            (Prefix)
            (NoSrcStrict))
           []
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:34:9-35 })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:34:9-35 })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:9 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:34:10-35 })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsLet
                 ((,)
                  (EpTok
                   (EpaSpan { DumpSemis.hs:34:10-12 }))
                  (EpTok
                   (EpaSpan { DumpSemis.hs:34:32-33 })))
                 (HsValBinds
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:34:13-31 })
                   (AnnList
                    (Just
                     (EpaSpan { DumpSemis.hs:34:14-30 }))
                    (Just
                     (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:34:13 })))
                    (Just
                     (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:34:31 })))
                    [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:34:14 }))
                    ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:34:15 }))
                    ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:34:16 }))
                    ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:34:17 }))
                    ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:34:18 }))]
                    [])
                   (EpaComments
                    []))
                  (ValBinds
                   (NoAnnSortKey)
                   {Bag(LocatedA (HsBind GhcPs)):
                    [(L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:34:19-21 })
                       (AnnListItem
                        [(AddSemiAnn
                          (EpaSpan { DumpSemis.hs:34:22 }))
                        ,(AddSemiAnn
                          (EpaSpan { DumpSemis.hs:34:23 }))])
                       (EpaComments
                        []))
                      (FunBind
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:34:19 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: y}))
                       (MG
                        (FromSource)
                        (L
                         (EpAnn
                          (EpaSpan { DumpSemis.hs:34:19-21 })
                          (AnnList
                           (Nothing)
                           (Nothing)
                           (Nothing)
                           []
                           [])
                          (EpaComments
                           []))
                         [(L
                           (EpAnn
                            (EpaSpan { DumpSemis.hs:34:19-21 })
                            (AnnListItem
                             [])
                            (EpaComments
                             []))
                           (Match
                            []
                            (FunRhs
                             (L
                              (EpAnn
                               (EpaSpan { DumpSemis.hs:34:19 })
                               (NameAnnTrailing
                                [])
                               (EpaComments
                                []))
                              (Unqual
                               {OccName: y}))
                             (Prefix)
                             (NoSrcStrict))
                            []
                            (GRHSs
                             (EpaComments
                              [])
                             [(L
                               (EpAnn
                                (EpaSpan { DumpSemis.hs:34:20-21 })
                                (NoEpAnns)
                                (EpaComments
                                 []))
                               (GRHS
                                (EpAnn
                                 (EpaSpan { DumpSemis.hs:34:20-21 })
                                 (GrhsAnn
                                  (Nothing)
                                  (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:20 })))
                                 (EpaComments
                                  []))
                                []
                                (L
                                 (EpAnn
                                  (EpaSpan { DumpSemis.hs:34:21 })
                                  (AnnListItem
                                   [])
                                  (EpaComments
                                   []))
                                 (HsOverLit
                                  (NoExtField)
                                  (OverLit
                                   (NoExtField)
                                   (HsIntegral
                                    (IL
                                     (SourceText 2)
                                     (False)
                                     (2))))))))]
                             (EmptyLocalBinds
                              (NoExtField)))))]))))
                    ,(L
                      (EpAnn
                       (EpaSpan { DumpSemis.hs:34:24-26 })
                       (AnnListItem
                        [(AddSemiAnn
                          (EpaSpan { DumpSemis.hs:34:27 }))
                        ,(AddSemiAnn
                          (EpaSpan { DumpSemis.hs:34:28 }))
                        ,(AddSemiAnn
                          (EpaSpan { DumpSemis.hs:34:29 }))
                        ,(AddSemiAnn
                          (EpaSpan { DumpSemis.hs:34:30 }))])
                       (EpaComments
                        []))
                      (FunBind
                       (NoExtField)
                       (L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:34:24 })
                         (NameAnnTrailing
                          [])
                         (EpaComments
                          []))
                        (Unqual
                         {OccName: z}))
                       (MG
                        (FromSource)
                        (L
                         (EpAnn
                          (EpaSpan { DumpSemis.hs:34:24-26 })
                          (AnnList
                           (Nothing)
                           (Nothing)
                           (Nothing)
                           []
                           [])
                          (EpaComments
                           []))
                         [(L
                           (EpAnn
                            (EpaSpan { DumpSemis.hs:34:24-26 })
                            (AnnListItem
                             [])
                            (EpaComments
                             []))
                           (Match
                            []
                            (FunRhs
                             (L
                              (EpAnn
                               (EpaSpan { DumpSemis.hs:34:24 })
                               (NameAnnTrailing
                                [])
                               (EpaComments
                                []))
                              (Unqual
                               {OccName: z}))
                             (Prefix)
                             (NoSrcStrict))
                            []
                            (GRHSs
                             (EpaComments
                              [])
                             [(L
                               (EpAnn
                                (EpaSpan { DumpSemis.hs:34:25-26 })
                                (NoEpAnns)
                                (EpaComments
                                 []))
                               (GRHS
                                (EpAnn
                                 (EpaSpan { DumpSemis.hs:34:25-26 })
                                 (GrhsAnn
                                  (Nothing)
                                  (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:25 })))
                                 (EpaComments
                                  []))
                                []
                                (L
                                 (EpAnn
                                  (EpaSpan { DumpSemis.hs:34:26 })
                                  (AnnListItem
                                   [])
                                  (EpaComments
                                   []))
                                 (HsOverLit
                                  (NoExtField)
                                  (OverLit
                                   (NoExtField)
                                   (HsIntegral
                                    (IL
                                     (SourceText 3)
                                     (False)
                                     (3))))))))]
                             (EmptyLocalBinds
                              (NoExtField)))))]))))]}
                   []))
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:34:35 })
                   (AnnListItem
                    [])
                   (EpaComments
                    []))
                  (HsVar
                   (NoExtField)
                   (L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:34:35 })
                     (NameAnnTrailing
                      [])
                     (EpaComments
                      []))
                    (Unqual
                     {OccName: y}))))))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))
  ,(L
    (EpAnn
     (EpaSpan { DumpSemis.hs:(36,1)-(44,4) })
     (AnnListItem
      [(AddSemiAnn
        (EpaSpan { DumpSemis.hs:45:1 }))])
     (EpaComments
      []))
    (ValD
     (NoExtField)
     (FunBind
      (NoExtField)
      (L
       (EpAnn
        (EpaSpan { DumpSemis.hs:36:1-3 })
        (NameAnnTrailing
         [])
        (EpaComments
         []))
       (Unqual
        {OccName: fot}))
      (MG
       (FromSource)
       (L
        (EpAnn
         (EpaSpan { DumpSemis.hs:(36,1)-(44,4) })
         (AnnList
          (Nothing)
          (Nothing)
          (Nothing)
          []
          [])
         (EpaComments
          []))
        [(L
          (EpAnn
           (EpaSpan { DumpSemis.hs:(36,1)-(44,4) })
           (AnnListItem
            [])
           (EpaComments
            []))
          (Match
           []
           (FunRhs
            (L
             (EpAnn
              (EpaSpan { DumpSemis.hs:36:1-3 })
              (NameAnnTrailing
               [])
              (EpaComments
               []))
             (Unqual
              {OccName: fot}))
            (Prefix)
            (NoSrcStrict))
           [(L
             (EpAnn
              (EpaSpan { DumpSemis.hs:36:5 })
              (AnnListItem
               [])
              (EpaComments
               []))
             (VarPat
              (NoExtField)
              (L
               (EpAnn
                (EpaSpan { DumpSemis.hs:36:5 })
                (NameAnnTrailing
                 [])
                (EpaComments
                 []))
               (Unqual
                {OccName: x}))))]
           (GRHSs
            (EpaComments
             [])
            [(L
              (EpAnn
               (EpaSpan { DumpSemis.hs:(36,7)-(44,4) })
               (NoEpAnns)
               (EpaComments
                []))
              (GRHS
               (EpAnn
                (EpaSpan { DumpSemis.hs:(36,7)-(44,4) })
                (GrhsAnn
                 (Nothing)
                 (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:36:7 })))
                (EpaComments
                 []))
               []
               (L
                (EpAnn
                 (EpaSpan { DumpSemis.hs:(37,3)-(44,4) })
                 (AnnListItem
                  [])
                 (EpaComments
                  []))
                (HsCase
                 (EpAnnHsCase
                  (EpaSpan { DumpSemis.hs:37:3-6 })
                  (EpaSpan { DumpSemis.hs:37:10-11 })
                  [])
                 (L
                  (EpAnn
                   (EpaSpan { DumpSemis.hs:37:8 })
                   (AnnListItem
                    [])
                   (EpaComments
                    []))
                  (HsVar
                   (NoExtField)
                   (L
                    (EpAnn
                     (EpaSpan { DumpSemis.hs:37:8 })
                     (NameAnnTrailing
                      [])
                     (EpaComments
                      []))
                    (Unqual
                     {OccName: x}))))
                 (MG
                  (FromSource)
                  (L
                   (EpAnn
                    (EpaSpan { DumpSemis.hs:(38,4)-(44,4) })
                    (AnnList
                     (Just
                      (EpaSpan { DumpSemis.hs:(38,6)-(43,13) }))
                     (Just
                      (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:38:4 })))
                     (Just
                      (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:44:4 })))
                     [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:38:6 }))
                     ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:38:7 }))
                     ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:38:8 }))]
                     [])
                    (EpaComments
                     []))
                   [(L
                     (EpAnn
                      (EpaSpan { DumpSemis.hs:39:6-13 })
                      (AnnListItem
                       [(AddSemiAnn
                         (EpaSpan { DumpSemis.hs:39:14 }))])
                      (EpaComments
                       []))
                     (Match
                      []
                      (CaseAlt)
                      [(L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:39:6 })
                         (AnnListItem
                          [])
                         (EpaComments
                          []))
                        (NPat
                         []
                         (L
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:39:6 })
                           (NoEpAnns)
                           (EpaComments
                            []))
                          (OverLit
                           (NoExtField)
                           (HsIntegral
                            (IL
                             (SourceText 0)
                             (False)
                             (0)))))
                         (Nothing)
                         (NoExtField)))]
                      (GRHSs
                       (EpaComments
                        [])
                       [(L
                         (EpAnn
                          (EpaSpan { DumpSemis.hs:39:8-13 })
                          (NoEpAnns)
                          (EpaComments
                           []))
                         (GRHS
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:39:8-13 })
                           (GrhsAnn
                            (Nothing)
                            (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:39:8-9 })))
                           (EpaComments
                            []))
                          []
                          (L
                           (EpAnn
                            (EpaSpan { DumpSemis.hs:39:11-13 })
                            (AnnListItem
                             [])
                            (EpaComments
                             []))
                           (HsLit
                            (NoExtField)
                            (HsChar
                             (SourceText 'a')
                             ('a'))))))]
                       (EmptyLocalBinds
                        (NoExtField)))))
                   ,(L
                     (EpAnn
                      (EpaSpan { DumpSemis.hs:40:6-13 })
                      (AnnListItem
                       [(AddSemiAnn
                         (EpaSpan { DumpSemis.hs:41:4 }))])
                      (EpaComments
                       []))
                     (Match
                      []
                      (CaseAlt)
                      [(L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:40:6 })
                         (AnnListItem
                          [])
                         (EpaComments
                          []))
                        (NPat
                         []
                         (L
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:40:6 })
                           (NoEpAnns)
                           (EpaComments
                            []))
                          (OverLit
                           (NoExtField)
                           (HsIntegral
                            (IL
                             (SourceText 1)
                             (False)
                             (1)))))
                         (Nothing)
                         (NoExtField)))]
                      (GRHSs
                       (EpaComments
                        [])
                       [(L
                         (EpAnn
                          (EpaSpan { DumpSemis.hs:40:8-13 })
                          (NoEpAnns)
                          (EpaComments
                           []))
                         (GRHS
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:40:8-13 })
                           (GrhsAnn
                            (Nothing)
                            (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:40:8-9 })))
                           (EpaComments
                            []))
                          []
                          (L
                           (EpAnn
                            (EpaSpan { DumpSemis.hs:40:11-13 })
                            (AnnListItem
                             [])
                            (EpaComments
                             []))
                           (HsLit
                            (NoExtField)
                            (HsChar
                             (SourceText 'b')
                             ('b'))))))]
                       (EmptyLocalBinds
                        (NoExtField)))))
                   ,(L
                     (EpAnn
                      (EpaSpan { DumpSemis.hs:41:6-13 })
                      (AnnListItem
                       [(AddSemiAnn
                         (EpaSpan { DumpSemis.hs:41:15 }))
                       ,(AddSemiAnn
                         (EpaSpan { DumpSemis.hs:42:4 }))])
                      (EpaComments
                       []))
                     (Match
                      []
                      (CaseAlt)
                      [(L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:41:6 })
                         (AnnListItem
                          [])
                         (EpaComments
                          []))
                        (NPat
                         []
                         (L
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:41:6 })
                           (NoEpAnns)
                           (EpaComments
                            []))
                          (OverLit
                           (NoExtField)
                           (HsIntegral
                            (IL
                             (SourceText 2)
                             (False)
                             (2)))))
                         (Nothing)
                         (NoExtField)))]
                      (GRHSs
                       (EpaComments
                        [])
                       [(L
                         (EpAnn
                          (EpaSpan { DumpSemis.hs:41:8-13 })
                          (NoEpAnns)
                          (EpaComments
                           []))
                         (GRHS
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:41:8-13 })
                           (GrhsAnn
                            (Nothing)
                            (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:41:8-9 })))
                           (EpaComments
                            []))
                          []
                          (L
                           (EpAnn
                            (EpaSpan { DumpSemis.hs:41:11-13 })
                            (AnnListItem
                             [])
                            (EpaComments
                             []))
                           (HsLit
                            (NoExtField)
                            (HsChar
                             (SourceText 'c')
                             ('c'))))))]
                       (EmptyLocalBinds
                        (NoExtField)))))
                   ,(L
                     (EpAnn
                      (EpaSpan { DumpSemis.hs:42:6-13 })
                      (AnnListItem
                       [(AddSemiAnn
                         (EpaSpan { DumpSemis.hs:43:11 }))
                       ,(AddSemiAnn
                         (EpaSpan { DumpSemis.hs:43:12 }))
                       ,(AddSemiAnn
                         (EpaSpan { DumpSemis.hs:43:13 }))])
                      (EpaComments
                       []))
                     (Match
                      []
                      (CaseAlt)
                      [(L
                        (EpAnn
                         (EpaSpan { DumpSemis.hs:42:6 })
                         (AnnListItem
                          [])
                         (EpaComments
                          []))
                        (NPat
                         []
                         (L
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:42:6 })
                           (NoEpAnns)
                           (EpaComments
                            []))
                          (OverLit
                           (NoExtField)
                           (HsIntegral
                            (IL
                             (SourceText 3)
                             (False)
                             (3)))))
                         (Nothing)
                         (NoExtField)))]
                      (GRHSs
                       (EpaComments
                        [])
                       [(L
                         (EpAnn
                          (EpaSpan { DumpSemis.hs:42:8-13 })
                          (NoEpAnns)
                          (EpaComments
                           []))
                         (GRHS
                          (EpAnn
                           (EpaSpan { DumpSemis.hs:42:8-13 })
                           (GrhsAnn
                            (Nothing)
                            (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:42:8-9 })))
                           (EpaComments
                            []))
                          []
                          (L
                           (EpAnn
                            (EpaSpan { DumpSemis.hs:42:11-13 })
                            (AnnListItem
                             [])
                            (EpaComments
                             []))
                           (HsLit
                            (NoExtField)
                            (HsChar
                             (SourceText 'd')
                             ('d'))))))]
                       (EmptyLocalBinds
                        (NoExtField)))))]))))))]
            (EmptyLocalBinds
             (NoExtField)))))])))))]))