1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan =
5            SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 4 1
6        , srcInfoPoints =
7            [ SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 1 1
8            , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 1
9            , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 1
10            , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 1
11            , SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 1
12            , SrcSpan "tests/examples/TypeEqualityParen.hs" 4 1 4 1
13            , SrcSpan "tests/examples/TypeEqualityParen.hs" 4 1 4 1
14            ]
15        }
16      Nothing
17      [ LanguagePragma
18          SrcSpanInfo
19            { srcInfoSpan =
20                SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 1 30
21            , srcInfoPoints =
22                [ SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 1 13
23                , SrcSpan "tests/examples/TypeEqualityParen.hs" 1 27 1 30
24                ]
25            }
26          [ Ident
27              SrcSpanInfo
28                { srcInfoSpan =
29                    SrcSpan "tests/examples/TypeEqualityParen.hs" 1 14 1 26
30                , srcInfoPoints = []
31                }
32              "TypeFamilies"
33          ]
34      ]
35      []
36      [ TypeSig
37          SrcSpanInfo
38            { srcInfoSpan =
39                SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 37
40            , srcInfoPoints =
41                [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 3 2 5 ]
42            }
43          [ Ident
44              SrcSpanInfo
45                { srcInfoSpan =
46                    SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 2
47                , srcInfoPoints = []
48                }
49              "f"
50          ]
51          (TyForall
52             SrcSpanInfo
53               { srcInfoSpan =
54                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 6 2 37
55               , srcInfoPoints = []
56               }
57             Nothing
58             (Just
59                (CxTuple
60                   SrcSpanInfo
61                     { srcInfoSpan =
62                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 6 2 28
63                     , srcInfoPoints =
64                         [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 6 2 7
65                         , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 12 2 13
66                         , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 24 2 25
67                         , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 26 2 28
68                         ]
69                     }
70                   [ TypeA
71                       SrcSpanInfo
72                         { srcInfoSpan =
73                             SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12
74                         , srcInfoPoints = []
75                         }
76                       (TyApp
77                          SrcSpanInfo
78                            { srcInfoSpan =
79                                SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12
80                            , srcInfoPoints = []
81                            }
82                          (TyCon
83                             SrcSpanInfo
84                               { srcInfoSpan =
85                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12
86                               , srcInfoPoints = []
87                               }
88                             (UnQual
89                                SrcSpanInfo
90                                  { srcInfoSpan =
91                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10
92                                  , srcInfoPoints = []
93                                  }
94                                (Ident
95                                   SrcSpanInfo
96                                     { srcInfoSpan =
97                                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10
98                                     , srcInfoPoints = []
99                                     }
100                                   "Eq")))
101                          (TyVar
102                             SrcSpanInfo
103                               { srcInfoSpan =
104                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12
105                               , srcInfoPoints = []
106                               }
107                             (Ident
108                                SrcSpanInfo
109                                  { srcInfoSpan =
110                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12
111                                  , srcInfoPoints = []
112                                  }
113                                "a")))
114                   , ParenA
115                       SrcSpanInfo
116                         { srcInfoSpan =
117                             SrcSpan "tests/examples/TypeEqualityParen.hs" 2 14 2 23
118                         , srcInfoPoints =
119                             [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 14 2 15
120                             , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 22 2 23
121                             ]
122                         }
123                       (TypeA
124                          SrcSpanInfo
125                            { srcInfoSpan =
126                                SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22
127                            , srcInfoPoints =
128                                [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ]
129                            }
130                          (TyEquals
131                             SrcSpanInfo
132                               { srcInfoSpan =
133                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22
134                               , srcInfoPoints =
135                                   [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ]
136                               }
137                             (TyVar
138                                SrcSpanInfo
139                                  { srcInfoSpan =
140                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16
141                                  , srcInfoPoints = []
142                                  }
143                                (Ident
144                                   SrcSpanInfo
145                                     { srcInfoSpan =
146                                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16
147                                     , srcInfoPoints = []
148                                     }
149                                   "a"))
150                             (TyCon
151                                SrcSpanInfo
152                                  { srcInfoSpan =
153                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22
154                                  , srcInfoPoints = []
155                                  }
156                                (UnQual
157                                   SrcSpanInfo
158                                     { srcInfoSpan =
159                                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22
160                                     , srcInfoPoints = []
161                                     }
162                                   (Ident
163                                      SrcSpanInfo
164                                        { srcInfoSpan =
165                                            SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22
166                                        , srcInfoPoints = []
167                                        }
168                                      "Int")))))
169                   ]))
170             (TyFun
171                SrcSpanInfo
172                  { srcInfoSpan =
173                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 29 2 37
174                  , srcInfoPoints =
175                      [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 31 2 33 ]
176                  }
177                (TyVar
178                   SrcSpanInfo
179                     { srcInfoSpan =
180                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 29 2 30
181                     , srcInfoPoints = []
182                     }
183                   (Ident
184                      SrcSpanInfo
185                        { srcInfoSpan =
186                            SrcSpan "tests/examples/TypeEqualityParen.hs" 2 29 2 30
187                        , srcInfoPoints = []
188                        }
189                      "a"))
190                (TyCon
191                   SrcSpanInfo
192                     { srcInfoSpan =
193                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 34 2 37
194                     , srcInfoPoints = []
195                     }
196                   (UnQual
197                      SrcSpanInfo
198                        { srcInfoSpan =
199                            SrcSpan "tests/examples/TypeEqualityParen.hs" 2 34 2 37
200                        , srcInfoPoints = []
201                        }
202                      (Ident
203                         SrcSpanInfo
204                           { srcInfoSpan =
205                               SrcSpan "tests/examples/TypeEqualityParen.hs" 2 34 2 37
206                           , srcInfoPoints = []
207                           }
208                         "Int")))))
209      , FunBind
210          SrcSpanInfo
211            { srcInfoSpan =
212                SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 8
213            , srcInfoPoints = []
214            }
215          [ Match
216              SrcSpanInfo
217                { srcInfoSpan =
218                    SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 8
219                , srcInfoPoints = []
220                }
221              (Ident
222                 SrcSpanInfo
223                   { srcInfoSpan =
224                       SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 2
225                   , srcInfoPoints = []
226                   }
227                 "f")
228              [ PWildCard
229                  SrcSpanInfo
230                    { srcInfoSpan =
231                        SrcSpan "tests/examples/TypeEqualityParen.hs" 3 3 3 4
232                    , srcInfoPoints = []
233                    }
234              ]
235              (UnGuardedRhs
236                 SrcSpanInfo
237                   { srcInfoSpan =
238                       SrcSpan "tests/examples/TypeEqualityParen.hs" 3 5 3 8
239                   , srcInfoPoints =
240                       [ SrcSpan "tests/examples/TypeEqualityParen.hs" 3 5 3 6 ]
241                   }
242                 (Lit
243                    SrcSpanInfo
244                      { srcInfoSpan =
245                          SrcSpan "tests/examples/TypeEqualityParen.hs" 3 7 3 8
246                      , srcInfoPoints = []
247                      }
248                    (Int
249                       SrcSpanInfo
250                         { srcInfoSpan =
251                             SrcSpan "tests/examples/TypeEqualityParen.hs" 3 7 3 8
252                         , srcInfoPoints = []
253                         }
254                       3
255                       "3")))
256              Nothing
257          ]
258      ]
259  , []
260  )
261