ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 1 7 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/Overlapable.hs" 1 1 1 1
            , SrcSpan "tests/examples/Overlapable.hs" 1 1 1 1
            , SrcSpan "tests/examples/Overlapable.hs" 1 1 1 1
            , SrcSpan "tests/examples/Overlapable.hs" 3 1 3 1
            , SrcSpan "tests/examples/Overlapable.hs" 5 1 5 1
            , SrcSpan "tests/examples/Overlapable.hs" 7 1 7 1
            , SrcSpan "tests/examples/Overlapable.hs" 7 1 7 1
            ]
        }
      Nothing
      []
      []
      [ InstDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 1 1 29
            , srcInfoPoints =
                [ SrcSpan "tests/examples/Overlapable.hs" 1 1 1 9 ]
            }
          (Just
             (Overlap
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 10 1 21
                  , srcInfoPoints = []
                  }))
          (IRule
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 29
               , srcInfoPoints = []
               }
             Nothing
             Nothing
             (IHApp
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 29
                  , srcInfoPoints = []
                  }
                (IHCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 27
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 27
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 26 1 27
                           , srcInfoPoints = []
                           }
                         "C")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 28 1 29
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 1 28 1 29
                        , srcInfoPoints = []
                        }
                      "a"))))
          Nothing
      , InstDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 1 3 32
            , srcInfoPoints =
                [ SrcSpan "tests/examples/Overlapable.hs" 3 1 3 9 ]
            }
          (Just
             (NoOverlap
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 10 3 24
                  , srcInfoPoints = []
                  }))
          (IRule
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 32
               , srcInfoPoints = []
               }
             Nothing
             Nothing
             (IHApp
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 32
                  , srcInfoPoints = []
                  }
                (IHCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 30
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 30
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 29 3 30
                           , srcInfoPoints = []
                           }
                         "C")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 31 3 32
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 3 31 3 32
                        , srcInfoPoints = []
                        }
                      "a"))))
          Nothing
      , InstDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 1 5 32
            , srcInfoPoints =
                [ SrcSpan "tests/examples/Overlapable.hs" 5 1 5 9 ]
            }
          (Just
             (Incoherent
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 10 5 24
                  , srcInfoPoints = []
                  }))
          (IRule
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 32
               , srcInfoPoints = []
               }
             Nothing
             Nothing
             (IHApp
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 32
                  , srcInfoPoints = []
                  }
                (IHCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 30
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 30
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 29 5 30
                           , srcInfoPoints = []
                           }
                         "C")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 31 5 32
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/Overlapable.hs" 5 31 5 32
                        , srcInfoPoints = []
                        }
                      "a"))))
          Nothing
      ]
  , []
  )