ParseOk ( Module SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 1 1 17 1 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 1 1 1 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 3 1 3 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 3 1 3 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 5 1 5 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 6 1 6 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 8 1 8 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 9 1 9 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 10 1 10 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 12 1 12 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 13 1 13 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 14 1 14 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 15 1 15 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 16 1 16 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 17 1 17 1 , SrcSpan "tests/examples/RoleAnnotations.hs" 17 1 17 1 ] } (Just (ModuleHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 3 1 3 19 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 3 1 3 7 , SrcSpan "tests/examples/RoleAnnotations.hs" 3 14 3 19 ] } (ModuleName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 3 8 3 13 , srcInfoPoints = [] } "Roles") Nothing Nothing)) [ LanguagePragma SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 1 1 1 60 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 1 1 1 13 , SrcSpan "tests/examples/RoleAnnotations.hs" 1 29 1 30 , SrcSpan "tests/examples/RoleAnnotations.hs" 1 40 1 41 , SrcSpan "tests/examples/RoleAnnotations.hs" 1 57 1 60 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 1 14 1 29 , srcInfoPoints = [] } "RoleAnnotations" , Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 1 31 1 40 , srcInfoPoints = [] } "PolyKinds" , Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 1 42 1 56 , srcInfoPoints = [] } "KindSignatures" ] ] [] [ DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 1 5 17 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 5 11 5 12 ] } (DataType SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 1 5 5 , srcInfoPoints = [] }) Nothing (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 6 5 10 , srcInfoPoints = [] } (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 6 5 8 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 6 5 8 , srcInfoPoints = [] } "T1")) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 9 5 10 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 9 5 10 , srcInfoPoints = [] } "a"))) [ QualConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 13 5 17 , srcInfoPoints = [] } Nothing Nothing (ConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 13 5 17 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 13 5 15 , srcInfoPoints = [] } "K1") [ TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 16 5 17 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 5 16 5 17 , srcInfoPoints = [] } "a") ]) ] [] , DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 1 6 17 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 6 11 6 12 ] } (DataType SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 1 6 5 , srcInfoPoints = [] }) Nothing (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 6 6 10 , srcInfoPoints = [] } (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 6 6 8 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 6 6 8 , srcInfoPoints = [] } "T2")) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 9 6 10 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 9 6 10 , srcInfoPoints = [] } "a"))) [ QualConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 13 6 17 , srcInfoPoints = [] } Nothing Nothing (ConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 13 6 17 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 13 6 15 , srcInfoPoints = [] } "K2") [ TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 16 6 17 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 6 16 6 17 , srcInfoPoints = [] } "a") ]) ] [] , DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 1 8 17 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 8 11 8 12 ] } (DataType SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 1 8 5 , srcInfoPoints = [] }) Nothing (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 6 8 10 , srcInfoPoints = [] } (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 6 8 8 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 6 8 8 , srcInfoPoints = [] } "T5")) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 9 8 10 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 9 8 10 , srcInfoPoints = [] } "a"))) [ QualConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 13 8 17 , srcInfoPoints = [] } Nothing Nothing (ConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 13 8 17 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 13 8 15 , srcInfoPoints = [] } "K5") [ TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 16 8 17 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 8 16 8 17 , srcInfoPoints = [] } "a") ]) ] [] , DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 1 9 15 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 9 11 9 12 ] } (DataType SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 1 9 5 , srcInfoPoints = [] }) Nothing (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 6 9 10 , srcInfoPoints = [] } (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 6 9 8 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 6 9 8 , srcInfoPoints = [] } "T6")) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 9 9 10 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 9 9 10 , srcInfoPoints = [] } "a"))) [ QualConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 13 9 15 , srcInfoPoints = [] } Nothing Nothing (ConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 13 9 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 9 13 9 15 , srcInfoPoints = [] } "K6") []) ] [] , DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 1 10 19 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 10 13 10 14 ] } (DataType SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 1 10 5 , srcInfoPoints = [] }) Nothing (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 6 10 12 , srcInfoPoints = [] } (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 6 10 10 , srcInfoPoints = [] } (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 6 10 8 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 6 10 8 , srcInfoPoints = [] } "T7")) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 9 10 10 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 9 10 10 , srcInfoPoints = [] } "a"))) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 11 10 12 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 11 10 12 , srcInfoPoints = [] } "b"))) [ QualConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 15 10 19 , srcInfoPoints = [] } Nothing Nothing (ConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 15 10 19 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 15 10 17 , srcInfoPoints = [] } "K7") [ TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 18 10 19 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 10 18 10 19 , srcInfoPoints = [] } "b") ]) ] [] , RoleAnnotDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 12 1 12 21 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 12 1 12 5 , SrcSpan "tests/examples/RoleAnnotations.hs" 12 6 12 10 ] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 12 11 12 13 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 12 11 12 13 , srcInfoPoints = [] } "T1")) [ Nominal SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 12 14 12 21 , srcInfoPoints = [] } ] , RoleAnnotDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 13 1 13 30 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 13 1 13 5 , SrcSpan "tests/examples/RoleAnnotations.hs" 13 6 13 10 ] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 13 11 13 13 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 13 11 13 13 , srcInfoPoints = [] } "T2")) [ Representational SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 13 14 13 30 , srcInfoPoints = [] } ] , RoleAnnotDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 14 1 14 21 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 14 1 14 5 , SrcSpan "tests/examples/RoleAnnotations.hs" 14 6 14 10 ] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 14 11 14 13 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 14 11 14 13 , srcInfoPoints = [] } "T3")) [ Phantom SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 14 14 14 21 , srcInfoPoints = [] } ] , RoleAnnotDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 15 1 15 23 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 15 1 15 5 , SrcSpan "tests/examples/RoleAnnotations.hs" 15 6 15 10 ] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 15 11 15 13 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 15 11 15 13 , srcInfoPoints = [] } "T4")) [ Nominal SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 15 14 15 21 , srcInfoPoints = [] } , RoleWildcard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 15 22 15 23 , srcInfoPoints = [] } ] , RoleAnnotDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 16 1 16 17 , srcInfoPoints = [ SrcSpan "tests/examples/RoleAnnotations.hs" 16 1 16 5 , SrcSpan "tests/examples/RoleAnnotations.hs" 16 6 16 10 ] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 16 11 16 13 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 16 11 16 13 , srcInfoPoints = [] } "T5")) [ RoleWildcard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RoleAnnotations.hs" 16 16 16 17 , srcInfoPoints = [] } ] ] , [] )