ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 9 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 1
            , SrcSpan "tests/examples/AtOperator.hs" 2 1 2 1
            , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1
            , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1
            , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1
            , SrcSpan "tests/examples/AtOperator.hs" 6 1 6 1
            , SrcSpan "tests/examples/AtOperator.hs" 8 1 8 1
            , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1
            , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1
            ]
        }
      Nothing
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 1 34
            , srcInfoPoints =
                [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 13
                , SrcSpan "tests/examples/AtOperator.hs" 1 31 1 34
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 14 1 30
                , srcInfoPoints = []
                }
              "TypeApplications"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 1 2 31
            , srcInfoPoints =
                [ SrcSpan "tests/examples/AtOperator.hs" 2 1 2 13
                , SrcSpan "tests/examples/AtOperator.hs" 2 28 2 31
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 14 2 27
                , srcInfoPoints = []
                }
              "TypeOperators"
          ]
      ]
      []
      [ DataDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 21
            , srcInfoPoints =
                [ SrcSpan "tests/examples/AtOperator.hs" 4 14 4 15 ]
            }
          (DataType
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 5
               , srcInfoPoints = []
               })
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13
               , srcInfoPoints = []
               }
             (DHInfix
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13
                  , srcInfoPoints = []
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7
                        , srcInfoPoints = []
                        }
                      "a"))
                (Symbol
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 8 4 11
                     , srcInfoPoints = []
                     }
                   ":+:"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13
                     , srcInfoPoints = []
                     }
                   "b")))
          [ QualConDecl
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21
                , srcInfoPoints = []
                }
              Nothing
              Nothing
              (ConDecl
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21
                      , srcInfoPoints = []
                      }
                    "Proxy")
                 [])
          ]
          []
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 24
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4
                  , srcInfoPoints = []
                  }
                "foo"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 5 6 24
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/AtOperator.hs" 6 5 6 6 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 24
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9
                           , srcInfoPoints = []
                           }
                         "id")))
                (TypeApp
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 10 6 24
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/AtOperator.hs" 6 10 6 11 ]
                     }
                   (TyParen
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 11 6 24
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/AtOperator.hs" 6 11 6 12
                            , SrcSpan "tests/examples/AtOperator.hs" 6 23 6 24
                            ]
                        }
                      (TyInfix
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 23
                           , srcInfoPoints = []
                           }
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15
                                    , srcInfoPoints = []
                                    }
                                  "Int")))
                         (UnpromotedName
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19
                                 , srcInfoPoints = []
                                 }
                               (Symbol
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19
                                    , srcInfoPoints = []
                                    }
                                  ":+:")))
                         (TyCon
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23
                                    , srcInfoPoints = []
                                    }
                                  "Int"))))))))
          Nothing
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11
            , srcInfoPoints = []
            }
          [ InfixMatch
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11
                , srcInfoPoints = []
                }
              (PWildCard
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 2
                   , srcInfoPoints = []
                   })
              (Symbol
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 3 8 5
                   , srcInfoPoints = []
                   }
                 "@>")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7
                       , srcInfoPoints = []
                       }
                     "m")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 8 8 11
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/AtOperator.hs" 8 8 8 9 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11
                            , srcInfoPoints = []
                            }
                          "m"))))
              Nothing
          ]
      ]
  , []
  )