ParseOk ( Module SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 1 5 1 , srcInfoPoints = [ SrcSpan "tests/examples/GhcDeriving.hs" 3 1 3 1 , SrcSpan "tests/examples/GhcDeriving.hs" 3 1 3 1 , SrcSpan "tests/examples/GhcDeriving.hs" 3 1 3 1 , SrcSpan "tests/examples/GhcDeriving.hs" 5 1 5 1 , SrcSpan "tests/examples/GhcDeriving.hs" 5 1 5 1 ] } Nothing [] [] [ DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 1 4 45 , srcInfoPoints = [ SrcSpan "tests/examples/GhcDeriving.hs" 3 25 3 26 ] } (NewType SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 1 3 8 , srcInfoPoints = [] }) Nothing (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 9 3 24 , srcInfoPoints = [] } (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 9 3 22 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 9 3 22 , srcInfoPoints = [] } "CodeGenModule")) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 23 3 24 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 23 3 24 , srcInfoPoints = [] } "a"))) [ QualConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 27 3 53 , srcInfoPoints = [] } Nothing Nothing (ConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 27 3 53 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 27 3 30 , srcInfoPoints = [] } "CGM") [ TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 31 3 53 , srcInfoPoints = [ SrcSpan "tests/examples/GhcDeriving.hs" 3 31 3 32 , SrcSpan "tests/examples/GhcDeriving.hs" 3 52 3 53 ] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 32 3 52 , srcInfoPoints = [] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 32 3 50 , srcInfoPoints = [] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 32 3 47 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 32 3 38 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 32 3 38 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 32 3 38 , srcInfoPoints = [] } "StateT"))) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 39 3 47 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 39 3 47 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 39 3 47 , srcInfoPoints = [] } "CGMState")))) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 48 3 50 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 48 3 50 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 48 3 50 , srcInfoPoints = [] } "IO")))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 51 3 52 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 3 51 3 52 , srcInfoPoints = [] } "a"))) ]) ] [ Deriving SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 45 , srcInfoPoints = [ SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 12 , SrcSpan "tests/examples/GhcDeriving.hs" 4 13 4 14 , SrcSpan "tests/examples/GhcDeriving.hs" 4 19 4 20 , SrcSpan "tests/examples/GhcDeriving.hs" 4 35 4 36 , SrcSpan "tests/examples/GhcDeriving.hs" 4 44 4 45 ] } Nothing [ IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19 , srcInfoPoints = [] } Nothing Nothing (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19 , srcInfoPoints = [] } "Monad"))) , IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35 , srcInfoPoints = [] } Nothing Nothing (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31 , srcInfoPoints = [] } "MonadState"))) (TyList SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 35 , srcInfoPoints = [ SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 33 , SrcSpan "tests/examples/GhcDeriving.hs" 4 34 4 35 ] } (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34 , srcInfoPoints = [] } "s")))) , IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44 , srcInfoPoints = [] } Nothing Nothing (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44 , srcInfoPoints = [] } "MonadIO"))) ] ] ] , [] )