ParseOk ( Module SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 4 1 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 1 1 , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 1 , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 1 , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 1 , SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 1 , SrcSpan "tests/examples/TypeEqualityParen.hs" 4 1 4 1 , SrcSpan "tests/examples/TypeEqualityParen.hs" 4 1 4 1 ] } Nothing [ LanguagePragma SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 1 30 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 1 1 1 13 , SrcSpan "tests/examples/TypeEqualityParen.hs" 1 27 1 30 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 1 14 1 26 , srcInfoPoints = [] } "TypeFamilies" ] ] [] [ TypeSig SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 37 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 3 2 5 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 1 2 2 , srcInfoPoints = [] } "f" ] (TyForall SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 6 2 37 , srcInfoPoints = [] } Nothing (Just (CxTuple SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 6 2 28 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 6 2 7 , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 12 2 13 , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 24 2 25 , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 26 2 28 ] } [ ClassA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10 , srcInfoPoints = [] } "Eq")) [ TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12 , srcInfoPoints = [] } "a") ] , ParenA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 14 2 23 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 14 2 15 , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 22 2 23 ] } (EqualP SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ] } (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16 , srcInfoPoints = [] } "a")) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22 , srcInfoPoints = [] } "Int")))) ])) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 29 2 37 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 31 2 33 ] } (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 29 2 30 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 29 2 30 , srcInfoPoints = [] } "a")) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 34 2 37 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 34 2 37 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 34 2 37 , srcInfoPoints = [] } "Int"))))) , FunBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 8 , srcInfoPoints = [] } [ Match SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 8 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 3 1 3 2 , srcInfoPoints = [] } "f") [ PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 3 3 3 4 , srcInfoPoints = [] } ] (UnGuardedRhs SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 3 5 3 8 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 3 5 3 6 ] } (Lit SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 3 7 3 8 , srcInfoPoints = [] } (Int SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 3 7 3 8 , srcInfoPoints = [] } 3 "3"))) Nothing ] ] , [] )