ParseOk ( Module SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 1 1 6 1 , srcInfoPoints = [ SrcSpan "tests/examples/GadtDeriving.hs" 1 1 1 1 , SrcSpan "tests/examples/GadtDeriving.hs" 3 1 3 1 , SrcSpan "tests/examples/GadtDeriving.hs" 3 1 3 1 , SrcSpan "tests/examples/GadtDeriving.hs" 3 1 3 1 , SrcSpan "tests/examples/GadtDeriving.hs" 6 1 6 1 , SrcSpan "tests/examples/GadtDeriving.hs" 6 1 6 1 ] } Nothing [ LanguagePragma SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 1 1 1 23 , srcInfoPoints = [ SrcSpan "tests/examples/GadtDeriving.hs" 1 1 1 13 , SrcSpan "tests/examples/GadtDeriving.hs" 1 20 1 23 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 1 14 1 19 , srcInfoPoints = [] } "GADTs" ] ] [] [ GDataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 3 1 5 31 , srcInfoPoints = [ SrcSpan "tests/examples/GadtDeriving.hs" 3 10 3 15 , SrcSpan "tests/examples/GadtDeriving.hs" 4 5 4 5 , SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 5 , SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 5 ] } (DataType SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 3 1 3 5 , srcInfoPoints = [] }) Nothing (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 3 6 3 9 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 3 6 3 9 , srcInfoPoints = [] } "Foo")) Nothing [ GadtDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 5 4 22 , srcInfoPoints = [ SrcSpan "tests/examples/GadtDeriving.hs" 4 9 4 11 ] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 5 4 8 , srcInfoPoints = [] } "Foo") Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 12 4 22 , srcInfoPoints = [ SrcSpan "tests/examples/GadtDeriving.hs" 4 16 4 18 ] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 12 4 15 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 12 4 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 12 4 15 , srcInfoPoints = [] } "Int"))) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 19 4 22 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 19 4 22 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 19 4 22 , srcInfoPoints = [] } "Foo")))) ] [ Deriving SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 31 , srcInfoPoints = [ SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 13 , SrcSpan "tests/examples/GadtDeriving.hs" 5 14 5 15 , SrcSpan "tests/examples/GadtDeriving.hs" 5 17 5 18 , SrcSpan "tests/examples/GadtDeriving.hs" 5 21 5 22 , SrcSpan "tests/examples/GadtDeriving.hs" 5 30 5 31 ] } Nothing [ IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17 , srcInfoPoints = [] } Nothing Nothing (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17 , srcInfoPoints = [] } "Eq"))) , IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21 , srcInfoPoints = [] } Nothing Nothing (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21 , srcInfoPoints = [] } "Ord"))) , IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30 , srcInfoPoints = [] } Nothing Nothing (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30 , srcInfoPoints = [] } "Typeable"))) ] ] ] , [] )