ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 2 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 1
            , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 1
            , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 1
            , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1
            , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1
            ]
        }
      Nothing
      []
      []
      [ InstDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 2 0
            , srcInfoPoints =
                [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 1 1 9
                , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 37 1 42
                , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1
                , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 1 2 1
                , SrcSpan "tests/examples/BracketInstanceHead.hs" 2 0 2 0
                ]
            }
          Nothing
          (IParen
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/BracketInstanceHead.hs" 1 10 1 36
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 10 1 11
                   , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 35 1 36
                   ]
               }
             (IRule
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 35
                  , srcInfoPoints = []
                  }
                Nothing
                (Just
                   (CxSingle
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]
                        }
                      (ClassA
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18
                                 , srcInfoPoints = []
                                 }
                               "Bounded"))
                         [ TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20
                                  , srcInfoPoints = []
                                  }
                                "a")
                         ])))
                (IHApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 35
                     , srcInfoPoints = []
                     }
                   (IHCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 31
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/BracketInstanceHead.hs" 1 24 1 31
                              , srcInfoPoints = []
                              }
                            "Bounded")))
                   (TyList
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/BracketInstanceHead.hs" 1 32 1 35
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 32 1 33
                            , SrcSpan "tests/examples/BracketInstanceHead.hs" 1 34 1 35
                            ]
                        }
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/BracketInstanceHead.hs" 1 33 1 34
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/BracketInstanceHead.hs" 1 33 1 34
                              , srcInfoPoints = []
                              }
                            "a"))))))
          (Just [])
      ]
  , []
  )