packages feed

haskell-src-exts-1.22.0: tests/examples/SpecializePhaseControl.hs.parser.golden

ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 16 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 9 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 16 1 16 1
            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 16 1 16 1
            ]
        }
      Nothing
      []
      []
      [ SpecSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 4 30
            , srcInfoPoints =
                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 15
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 22 1 24
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 38 2 39
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 34 3 35
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 27 4 30
                ]
            }
          (Just
             (ActiveFrom
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 16 1 19
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 16 1 17
                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 17 1 18
                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 18 1 19
                      ]
                  }
                1))
          (UnQual
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 20 1 21
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 20 1 21
                  , srcInfoPoints = []
                  }
                "x"))
          [ TyForall
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 38
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 17 2 19 ]
                }
              Nothing
              Nothing
              (TyFun
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 38
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 17 2 19 ]
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16
                            , srcInfoPoints = []
                            }
                          "Integer")))
                 (TyFun
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 38
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 28 2 30 ]
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27
                               , srcInfoPoints = []
                               }
                             "Integer")))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38
                               , srcInfoPoints = []
                               }
                             "Integer")))))
          , TyForall
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 34
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 17 3 19 ]
                }
              Nothing
              Nothing
              (TyFun
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 34
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 17 3 19 ]
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16
                            , srcInfoPoints = []
                            }
                          "Integer")))
                 (TyFun
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 34
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 24 3 26 ]
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23
                               , srcInfoPoints = []
                               }
                             "Int")))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34
                               , srcInfoPoints = []
                               }
                             "Integer")))))
          , TyForall
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 26
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 13 4 15 ]
                }
              Nothing
              Nothing
              (TyFun
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 26
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 13 4 15 ]
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12
                            , srcInfoPoints = []
                            }
                          "Int")))
                 (TyFun
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 26
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 20 4 22 ]
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19
                               , srcInfoPoints = []
                               }
                             "Int")))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26
                               , srcInfoPoints = []
                               }
                             "Int")))))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 40
            , srcInfoPoints =
                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 3 6 5 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 2
                , srcInfoPoints = []
                }
              "x"
          ]
          (TyForall
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 40
               , srcInfoPoints = []
               }
             Nothing
             (Just
                (CxTuple
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 28
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 7
                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 12 6 13
                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 24 6 25
                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 26 6 28
                         ]
                     }
                   [ TypeA
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10
                                     , srcInfoPoints = []
                                     }
                                   "Num")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12
                                  , srcInfoPoints = []
                                  }
                                "a")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/SpecializePhaseControl.hs" 6 14 6 22
                                     , srcInfoPoints = []
                                     }
                                   "Integral")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24
                                  , srcInfoPoints = []
                                  }
                                "b")))
                   ]))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 40
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 31 6 33 ]
                  }
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 30
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 30
                        , srcInfoPoints = []
                        }
                      "a"))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 40
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 36 6 38 ]
                     }
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 35
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 35
                           , srcInfoPoints = []
                           }
                         "b"))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 39 6 40
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 39 6 40
                           , srcInfoPoints = []
                           }
                         "a")))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 14
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 2
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 2
                  , srcInfoPoints = []
                  }
                "x"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 3 7 14
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 3 7 4 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14
                        , srcInfoPoints = []
                        }
                      "undefined"))))
          Nothing
      , SpecInlineSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 12 30
            , srcInfoPoints =
                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 9 22
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 31 9 33
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 38 10 39
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 34 11 35
                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 27 12 30
                ]
            }
          True
          (Just
             (ActiveFrom
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 23 9 28
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 23 9 24
                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 24 9 27
                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 27 9 28
                      ]
                  }
                999))
          (UnQual
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 29 9 30
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 29 9 30
                  , srcInfoPoints = []
                  }
                "y"))
          [ TyForall
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 38
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 17 10 19 ]
                }
              Nothing
              Nothing
              (TyFun
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 38
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 17 10 19 ]
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16
                            , srcInfoPoints = []
                            }
                          "Integer")))
                 (TyFun
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 38
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 28 10 30 ]
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27
                               , srcInfoPoints = []
                               }
                             "Integer")))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38
                               , srcInfoPoints = []
                               }
                             "Integer")))))
          , TyForall
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 34
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 17 11 19 ]
                }
              Nothing
              Nothing
              (TyFun
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 34
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 17 11 19 ]
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16
                            , srcInfoPoints = []
                            }
                          "Integer")))
                 (TyFun
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 34
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 24 11 26 ]
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23
                               , srcInfoPoints = []
                               }
                             "Int")))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34
                               , srcInfoPoints = []
                               }
                             "Integer")))))
          , TyForall
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 26
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 13 12 15 ]
                }
              Nothing
              Nothing
              (TyFun
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 26
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 13 12 15 ]
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12
                            , srcInfoPoints = []
                            }
                          "Int")))
                 (TyFun
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 26
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 20 12 22 ]
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19
                               , srcInfoPoints = []
                               }
                             "Int")))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26
                               , srcInfoPoints = []
                               }
                             "Int")))))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 40
            , srcInfoPoints =
                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 3 14 5 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 2
                , srcInfoPoints = []
                }
              "y"
          ]
          (TyForall
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 40
               , srcInfoPoints = []
               }
             Nothing
             (Just
                (CxTuple
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 28
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 7
                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 12 14 13
                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 24 14 25
                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 26 14 28
                         ]
                     }
                   [ TypeA
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/SpecializePhaseControl.hs" 14 7 14 10
                                     , srcInfoPoints = []
                                     }
                                   "Num")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12
                                  , srcInfoPoints = []
                                  }
                                "a")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/SpecializePhaseControl.hs" 14 14 14 22
                                     , srcInfoPoints = []
                                     }
                                   "Integral")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24
                                  , srcInfoPoints = []
                                  }
                                "b")))
                   ]))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 40
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 31 14 33 ]
                  }
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 30
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 30
                        , srcInfoPoints = []
                        }
                      "a"))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 40
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 36 14 38 ]
                     }
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 35
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 35
                           , srcInfoPoints = []
                           }
                         "b"))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 39 14 40
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 39 14 40
                           , srcInfoPoints = []
                           }
                         "a")))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 14
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 2
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 2
                  , srcInfoPoints = []
                  }
                "y"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 3 15 14
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 3 15 4 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14
                        , srcInfoPoints = []
                        }
                      "undefined"))))
          Nothing
      ]
  , [ Comment
        True
        (SrcSpan "tests/examples/SpecializePhaseControl.hs" 5 1 5 24)
        "# INLINABLE [1] x #"
    , Comment
        True
        (SrcSpan "tests/examples/SpecializePhaseControl.hs" 13 1 13 24)
        "# INLINABLE [1] y #"
    ]
  )