ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 1 1 7 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/HexPrec.hs" 1 1 1 1
            , SrcSpan "tests/examples/HexPrec.hs" 1 1 1 1
            , SrcSpan "tests/examples/HexPrec.hs" 3 1 3 1
            , SrcSpan "tests/examples/HexPrec.hs" 4 1 4 1
            , SrcSpan "tests/examples/HexPrec.hs" 6 1 6 1
            , SrcSpan "tests/examples/HexPrec.hs" 7 1 7 1
            , SrcSpan "tests/examples/HexPrec.hs" 7 1 7 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 1 1 1 21
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/HexPrec.hs" 1 1 1 7
                  , SrcSpan "tests/examples/HexPrec.hs" 1 16 1 21
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 1 8 1 15
                 , srcInfoPoints = []
                 }
               "HexPrec")
            Nothing
            Nothing))
      []
      []
      [ TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 1 3 26
            , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 3 6 3 8 ]
            }
          [ Symbol
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 1 3 5
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/HexPrec.hs" 3 1 3 2
                    , SrcSpan "tests/examples/HexPrec.hs" 3 2 3 4
                    , SrcSpan "tests/examples/HexPrec.hs" 3 4 3 5
                    ]
                }
              "%%"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 26
               , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 3 13 3 15 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 12
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 12
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 9 3 12
                        , srcInfoPoints = []
                        }
                      "Int")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 26
                  , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 3 20 3 22 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 19
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 19
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 16 3 19
                           , srcInfoPoints = []
                           }
                         "Int")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 23 3 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 23 3 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 3 23 3 26
                           , srcInfoPoints = []
                           }
                         "Int")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 11
            , srcInfoPoints = []
            }
          [ InfixMatch
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 11
                , srcInfoPoints = []
                }
              (PVar
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 2
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 1 4 2
                      , srcInfoPoints = []
                      }
                    "a"))
              (Symbol
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 3 4 5
                   , srcInfoPoints = []
                   }
                 "%%")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 6 4 7
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 6 4 7
                       , srcInfoPoints = []
                       }
                     "b")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 8 4 11
                   , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 4 8 4 9 ]
                   }
                 (Lit
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 10 4 11
                      , srcInfoPoints = []
                      }
                    (Int
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 4 10 4 11
                         , srcInfoPoints = []
                         }
                       0
                       "0")))
              Nothing
          ]
      , InfixDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 1 6 15
            , srcInfoPoints = [ SrcSpan "tests/examples/HexPrec.hs" 6 8 6 12 ]
            }
          (AssocLeft
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 1 6 7
               , srcInfoPoints = []
               })
          (Just 2)
          [ VarOp
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 13 6 15
                , srcInfoPoints = []
                }
              (Symbol
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/HexPrec.hs" 6 13 6 15
                   , srcInfoPoints = []
                   }
                 "%%")
          ]
      ]
  , []
  )