ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/HaddockComments.hs" 14 1 57 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 1
            , SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 1
            , SrcSpan "tests/examples/HaddockComments.hs" 17 1 17 1
            , SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 1
            , SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 1
            , SrcSpan "tests/examples/HaddockComments.hs" 27 1 27 1
            , SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 1
            , SrcSpan "tests/examples/HaddockComments.hs" 35 1 35 1
            , SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 1
            , SrcSpan "tests/examples/HaddockComments.hs" 38 1 38 1
            , SrcSpan "tests/examples/HaddockComments.hs" 46 1 46 1
            , SrcSpan "tests/examples/HaddockComments.hs" 57 1 57 1
            , SrcSpan "tests/examples/HaddockComments.hs" 57 1 57 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan =
                  SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 29
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/HaddockComments.hs" 14 1 14 7
                  , SrcSpan "tests/examples/HaddockComments.hs" 14 24 14 29
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan =
                     SrcSpan "tests/examples/HaddockComments.hs" 14 8 14 23
                 , srcInfoPoints = []
                 }
               "HaddockComments")
            Nothing
            Nothing))
      []
      []
      [ TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 17 1 20 12
            , srcInfoPoints =
                [ SrcSpan "tests/examples/HaddockComments.hs" 18 4 18 6 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/HaddockComments.hs" 17 1 17 5
                , srcInfoPoints = []
                }
              "fun1"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 18 7 20 12
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/HaddockComments.hs" 19 4 19 6 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 18 7 18 10
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 18 7 18 10
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 18 7 18 10
                        , srcInfoPoints = []
                        }
                      "Int")))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 19 7 20 12
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/HaddockComments.hs" 20 4 20 6 ]
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 19 7 19 12
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 19 7 19 12
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/HaddockComments.hs" 19 7 19 12
                           , srcInfoPoints = []
                           }
                         "Float")))
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 12
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 9
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 9
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/HaddockComments.hs" 20 7 20 9
                              , srcInfoPoints = []
                              }
                            "IO")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 12
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 11
                            , SrcSpan "tests/examples/HaddockComments.hs" 20 11 20 12
                            ]
                        }
                      (Special
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 12
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 11
                               , SrcSpan "tests/examples/HaddockComments.hs" 20 11 20 12
                               ]
                           }
                         (UnitCon
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 12
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/HaddockComments.hs" 20 10 20 11
                                  , SrcSpan "tests/examples/HaddockComments.hs" 20 11 20 12
                                  ]
                              }))))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 17
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 5
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 21 1 21 5
                  , srcInfoPoints = []
                  }
                "fun1"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 21 6 21 17
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/HaddockComments.hs" 21 6 21 7 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 21 8 21 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 21 8 21 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 21 8 21 17
                        , srcInfoPoints = []
                        }
                      "undefined"))))
          Nothing
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 17
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 5
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 25 1 25 5
                  , srcInfoPoints = []
                  }
                "fun2"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 25 6 25 17
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/HaddockComments.hs" 25 6 25 7 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 25 8 25 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 25 8 25 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 25 8 25 17
                        , srcInfoPoints = []
                        }
                      "undefined"))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 27 1 27 19
            , srcInfoPoints =
                [ SrcSpan "tests/examples/HaddockComments.hs" 27 6 27 8 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/HaddockComments.hs" 27 1 27 5
                , srcInfoPoints = []
                }
              "fun3"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 19
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/HaddockComments.hs" 27 13 27 15 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 12
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 12
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 27 9 27 12
                        , srcInfoPoints = []
                        }
                      "Int")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 27 16 27 19
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 27 16 27 19
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 27 16 27 19
                        , srcInfoPoints = []
                        }
                      "Int"))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 17
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 5
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 29 1 29 5
                  , srcInfoPoints = []
                  }
                "fun3"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 29 6 29 17
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/HaddockComments.hs" 29 6 29 7 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 29 8 29 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 29 8 29 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 29 8 29 17
                        , srcInfoPoints = []
                        }
                      "undefined"))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 35 1 35 21
            , srcInfoPoints =
                [ SrcSpan "tests/examples/HaddockComments.hs" 35 8 35 10 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/HaddockComments.hs" 35 1 35 7
                , srcInfoPoints = []
                }
              "square"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 21
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/HaddockComments.hs" 35 15 35 17 ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 14
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 14
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 35 11 35 14
                        , srcInfoPoints = []
                        }
                      "Int")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 35 18 35 21
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 35 18 35 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/HaddockComments.hs" 35 18 35 21
                        , srcInfoPoints = []
                        }
                      "Int"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 17
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 17
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/HaddockComments.hs" 36 1 36 7
                   , srcInfoPoints = []
                   }
                 "square")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/HaddockComments.hs" 36 8 36 9
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/HaddockComments.hs" 36 8 36 9
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/HaddockComments.hs" 36 10 36 17
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/HaddockComments.hs" 36 10 36 11 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 17
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 13
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 13
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/HaddockComments.hs" 36 12 36 13
                               , srcInfoPoints = []
                               }
                             "x")))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/HaddockComments.hs" 36 14 36 15
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/HaddockComments.hs" 36 14 36 15
                            , srcInfoPoints = []
                            }
                          (Symbol
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/HaddockComments.hs" 36 14 36 15
                               , srcInfoPoints = []
                               }
                             "*")))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/HaddockComments.hs" 36 16 36 17
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/HaddockComments.hs" 36 16 36 17
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/HaddockComments.hs" 36 16 36 17
                               , srcInfoPoints = []
                               }
                             "x")))))
              Nothing
          ]
      , ClassDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 38 1 42 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/HaddockComments.hs" 38 1 38 6
                , SrcSpan "tests/examples/HaddockComments.hs" 38 11 38 16
                , SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 4
                , SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 4
                , SrcSpan "tests/examples/HaddockComments.hs" 46 1 46 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 38 7 38 10
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 38 7 38 8
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 38 7 38 8
                     , srcInfoPoints = []
                     }
                   "C"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 38 9 38 10
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/HaddockComments.hs" 38 9 38 10
                     , srcInfoPoints = []
                     }
                   "a")))
          []
          (Just
             [ ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 17
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/HaddockComments.hs" 40 6 40 8 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 17
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/HaddockComments.hs" 40 6 40 8 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/HaddockComments.hs" 40 4 40 5
                          , srcInfoPoints = []
                          }
                        "f"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/HaddockComments.hs" 40 9 40 17
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/HaddockComments.hs" 40 11 40 13 ]
                         }
                       (TyVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/HaddockComments.hs" 40 9 40 10
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/HaddockComments.hs" 40 9 40 10
                               , srcInfoPoints = []
                               }
                             "a"))
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/HaddockComments.hs" 40 14 40 17
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/HaddockComments.hs" 40 14 40 17
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/HaddockComments.hs" 40 14 40 17
                                  , srcInfoPoints = []
                                  }
                                "Int")))))
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 17
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/HaddockComments.hs" 42 6 42 8 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 17
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/HaddockComments.hs" 42 6 42 8 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/HaddockComments.hs" 42 4 42 5
                          , srcInfoPoints = []
                          }
                        "g"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 17
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/HaddockComments.hs" 42 13 42 15 ]
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 12
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/HaddockComments.hs" 42 9 42 12
                                  , srcInfoPoints = []
                                  }
                                "Int")))
                       (TyVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/HaddockComments.hs" 42 16 42 17
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/HaddockComments.hs" 42 16 42 17
                               , srcInfoPoints = []
                               }
                             "a"))))
             ])
      , DataDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/HaddockComments.hs" 46 1 56 10
            , srcInfoPoints =
                [ SrcSpan "tests/examples/HaddockComments.hs" 46 13 46 14
                , SrcSpan "tests/examples/HaddockComments.hs" 55 3 55 4
                ]
            }
          (DataType
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 46 1 46 5
               , srcInfoPoints = []
               })
          Nothing
          (DHead
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/HaddockComments.hs" 46 6 46 12
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/HaddockComments.hs" 46 6 46 12
                  , srcInfoPoints = []
                  }
                "MyData"))
          [ QualConDecl
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/HaddockComments.hs" 48 3 54 6
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/HaddockComments.hs" 49 5 49 6
                    , SrcSpan "tests/examples/HaddockComments.hs" 52 5 52 6
                    , SrcSpan "tests/examples/HaddockComments.hs" 53 5 53 6
                    , SrcSpan "tests/examples/HaddockComments.hs" 54 5 54 6
                    ]
                }
              Nothing
              Nothing
              (RecDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/HaddockComments.hs" 48 3 54 6
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/HaddockComments.hs" 49 5 49 6
                       , SrcSpan "tests/examples/HaddockComments.hs" 52 5 52 6
                       , SrcSpan "tests/examples/HaddockComments.hs" 53 5 53 6
                       , SrcSpan "tests/examples/HaddockComments.hs" 54 5 54 6
                       ]
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/HaddockComments.hs" 48 3 48 8
                      , srcInfoPoints = []
                      }
                    "Cons1")
                 [ FieldDecl
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/HaddockComments.hs" 49 7 49 25
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/HaddockComments.hs" 49 19 49 21 ]
                       }
                     [ Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/HaddockComments.hs" 49 7 49 18
                           , srcInfoPoints = []
                           }
                         "cons1Field1"
                     ]
                     (TyCon
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/HaddockComments.hs" 49 22 49 25
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/HaddockComments.hs" 49 22 49 25
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan =
                                    SrcSpan "tests/examples/HaddockComments.hs" 49 22 49 25
                                , srcInfoPoints = []
                                }
                              "Int")))
                 , FieldDecl
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/HaddockComments.hs" 52 7 52 25
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/HaddockComments.hs" 52 19 52 21 ]
                       }
                     [ Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/HaddockComments.hs" 52 7 52 18
                           , srcInfoPoints = []
                           }
                         "cons1Field2"
                     ]
                     (TyCon
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/HaddockComments.hs" 52 22 52 25
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/HaddockComments.hs" 52 22 52 25
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan =
                                    SrcSpan "tests/examples/HaddockComments.hs" 52 22 52 25
                                , srcInfoPoints = []
                                }
                              "Int")))
                 , FieldDecl
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/HaddockComments.hs" 53 7 53 28
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/HaddockComments.hs" 53 19 53 21 ]
                       }
                     [ Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/HaddockComments.hs" 53 7 53 18
                           , srcInfoPoints = []
                           }
                         "cons1Field3"
                     ]
                     (TyCon
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/HaddockComments.hs" 53 22 53 28
                          , srcInfoPoints = []
                          }
                        (UnQual
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/HaddockComments.hs" 53 22 53 28
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan =
                                    SrcSpan "tests/examples/HaddockComments.hs" 53 22 53 28
                                , srcInfoPoints = []
                                }
                              "String")))
                 ])
          , QualConDecl
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/HaddockComments.hs" 55 5 56 10
                , srcInfoPoints = []
                }
              Nothing
              Nothing
              (ConDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/HaddockComments.hs" 55 5 56 10
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/HaddockComments.hs" 55 5 55 10
                      , srcInfoPoints = []
                      }
                    "Cons2")
                 [ TyCon
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/HaddockComments.hs" 56 7 56 10
                       , srcInfoPoints = []
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/HaddockComments.hs" 56 7 56 10
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/HaddockComments.hs" 56 7 56 10
                             , srcInfoPoints = []
                             }
                           "Int"))
                 ])
          ]
          []
      ]
  , [ Comment
        True
        (SrcSpan "tests/examples/HaddockComments.hs" 1 1 13 3)
        "|\nModule      : W\nDescription : Short description\nCopyright   : (c) Some Guy, 2013\n                  Someone Else, 2014\nLicense     : GPL-3\nMaintainer  : sample@email.com\nStability   : experimental\nPortability : POSIX\n\nHere is a longer description of this module, containing some\ncommentary with @some markup@.\n"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 16 1 16 23)
        " | Function1 comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 18 16 18 39)
        " ^ The 'Int' argument"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 19 16 19 41)
        " ^ The 'Float' argument"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 20 16 20 37)
        " ^ The return value"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 24 1 24 25)
        " not a haddock comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 28 1 28 23)
        " ^ Function3 comment"
    , Comment
        True
        (SrcSpan "tests/examples/HaddockComments.hs" 31 1 34 3)
        "|\n  The 'square' function squares an integer.\n  It takes one argument, of type 'Int'.\n"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 36 18 36 28)
        " beware!"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 39 4 39 53)
        " | This is the documentation for the 'f' method"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 41 4 41 53)
        " | This is the documentation for the 'g' method"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 44 1 44 23)
        " | Data type comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 45 1 45 22)
        " With a second line"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 47 3 47 28)
        " | Constructor1 comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 49 26 49 60)
        " ^ Constructor 1 field 1 comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 50 26 50 47)
        " spanning two lines"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 51 7 51 41)
        " | Constructor 1 field 2 comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 53 29 53 53)
        " Not a haddock comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 55 11 55 37)
        " ^ Constructor 2 comment"
    , Comment
        False
        (SrcSpan "tests/examples/HaddockComments.hs" 56 11 56 20)
        " ^ Last"
    ]
  )